2017-02-28 5 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에서 데이터베이스의 가수 이름을 모두 나열하고 싶다. 문제는 get() 대신 쿼리에서 first()을 사용하여 하나의 값을 얻었을 때 단일 값을 올바르게 반환한다는 것입니다. 하지만 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]); 
} 

보기 코드 먼저() 당신이 얻을를 (사용할 때, 하나의 결과를 얻을 수) 당신이 경우에도, 결과의 collection을 받고 사용

<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> 

한 명의 사용자를 검색합니다.

관련 문제