2017-02-28 7 views
0

ルートはRoute::resource('/admin/post', 'postController');

はコントローラでコードが

public function index() 
{ 
    $s = Singer::where('id','<',5)->get()->name; 

    return view("admin.new-post", ['s'=>$s]); 
} 

である、ビューは

<select class="form-control select2 select2-hidden-accessible" multiple="" data-placeholder="Select a State" style="width: 100%;" tabindex="-1" aria-hidden="true"> 

           <?php foreach ($s as $ss){ 
            echo '<option>'. $ss .'</option>'; 
           }?> 

          </select> 

です私はselectのデータベースからの歌手の名前をすべてリストアップしたいと思う。そして、私がfirst()をクエリで使用して単一の値を得たときには、get()の代わりに単一の値を正しく返します。しかし、私がget()を使用して、表示でforeachループを使用してすべての歌手を取得すると、このエラーが発生します。 Undefined property: Illuminate\Database\Eloquent\Collection::$name。私はコードを何回も見直しましたが、エラーの内容を理解できませんでした。私はいくつかの解決策を提供してください。

答えて

1

コントローラコード

public function index() 
{ 
$s = Singer::where('id','<',5)->get(); 

return view("admin.new-post", ['s'=>$s]); 
} 

コードの表示

<select class="form-control select2 select2-hidden-accessible" multiple="" data-placeholder="Select a State" style="width: 100%;" tabindex="-1" aria-hidden="true"> 

          <?php foreach ($s as $ss){ 
           echo '<option>'. $ss->name .'</option>'; 
          }?> 

         </select> 

あなたが最初に(使用)します(getを使用する場合、あなたがしても、結果のcollectionを取得している)、単一の結果を得ます1人のユーザーを検索します。