(laravel 3から)laravel 4への旅は続きます....
私は Article モデルを持っており、articles というテーブルにアクセスしています。
次のミューテーターを使用してモデルをセットアップしました。
class Article extends Eloquent {
public function getArticleDateAttribute($value)
{
return date('d/m/Y', strtotime($value));
}
public function getValidUntilAttribute($value)
{
return date('d/m/Y', strtotime($value));
}
}
次のAND Delete the mutatorsを使用してデータベースにクエリを実行すると、すべてが期待どおりに機能し、期待どおりのデータが得られます。
public function getTest() {
$data = Article::select(array(
'articles.id',
'articles.article_date',
'articles.image_link',
'articles.headline',
'articles.category'
)) ->get()
->toArray();
var_dump($data);
//return View::make('_layouts.master');
}
私のテストでは、次のサンプルのように期待どおりの結果が得られます。
array (size=5)
'id' => int 3
'article_date' => string '2008-06-03 00:00:00' (length=19)
'image_link' => string '' (length=0)
'headline' => string 'Sussex Amateur Course Closure' (length=29)
'category' => int 6
ここで、ミューテーターを再度追加すると、正確なクエリで次のデータが得られます。
array (size=6)
'article_date' => string '03/06/2008' (length=10)
'valid_until' => string '01/01/1970' (length=10)
'id' => int 3
'image_link' => string '' (length=0)
'headline' => string 'Sussex Amateur Course Closure' (length=29)
'category' => int 6
列の順序が変更され、最初に要求しなかった列が含まれています。ミューテーターを正しく実装するにはどうすればよいですか? また、列が変更されるのはなぜですか?
私はこれを誤解しましたか?
ありがとう
レイ