2016-10-20 8 views
1

私は自分のビューにアクセスしたい配列の形でいくつかの定義済みのデータを持っています。 私はこの目的のために次の方法を使用しています。 私は、配列を返すmodelにメソッドを定義します。laravelでモデルからビューへの定義済みデータを渡すshow

//function in my model calss of cars. 

public function colors(){ 
    return ['white', 'blue','gray']; 
} 

私はそのように、このメソッドを呼び出します。ここ

$cars->colors(); 

は、私が使用したいコードは私のビューファイルである

@foreach($car->colors() as $color) 
    <p> {!!$color!!}</p> 
@endforeach 

それは私に次のエラーを示しています。を関係メソッドはタイプのオブジェクトを返さなければならない

What'sモデルオブジェクトや別の方法から配列やデータが必要な場合は、このような状況を処理する適切な方法です。

あなたのモデルにカスタム属性を追加するには雄弁のアクセサを使用することができ
+0

これを使用するビューのコードを表示できますか? –

答えて

1

- ここでは詳細を参照してください。あなたの場合https://laravel.com/docs/5.3/eloquent-mutators#defining-an-accessor

を、次のようにトリックを行う必要があります。

class Car extends Model { 
    public function getColorsAttribute(){ 
    return ['white', 'blue','gray']; 
    } 
} 

今、あなたはできるはずです

foreach ($car->colors as $color) { 
    ... 
} 

エラーは、何か他のものと関連しているようです - 通常はあなたが試していることを意味します存在しない関係を熱心に読み込むことができます。あなたの車のモデルにwith('colors')への呼び出しがないことを確認してください。

関連する問題