2016-10-04 5 views
2

私はlaravelにleftJoinを使用していますが、それは誤り

未定義のプロパティを取得:照らす\データベース\雄弁\にコレクション::ここます$ id

コントローラ

$news = News::find($id) 
      ->leftJoin('categories', 'news.category_id', '=', 'categories.id') 
      ->get(); 

    //dd($news); 

    return view('news.update') 
    ->with('news', $news); 

上のサンプルコードIは、get()を使用してしようとしてきた - >最初の()をしかし、それだけで最初のレコードだけを表示します。 と私はこのようにブレード上のforeachを使用している場合、エラーがこの

$news = DB::table('news') 
      ->leftJoin('categories', 'categories.id', '=', 'news.category_id') 
      ->select('news.*', 'categories.*') 
      ->get(); 

のように実行するだけで

<form class="form-horizontal" action="/news/{{$news->id}}" method="post" enctype="mulipart/form-data"> 
<select name="category_id"> 
    <option> - </option> 
    @foreach($news as $news) 
    <option value="{{ $news->category_id }}" selected>{{ $news->category }}</option> 
    @endforeach 
</select> </form> 

答えて

2

同じトライである - 。( 'ニュース'、」カテゴリを選択> 「)//ニュースやカテゴリー

<form class="form-horizontal" action="/news/{{$news[0]->id}}" method="post" enctype="mulipart/form-data"> 
    <select name="category_id"> 
     <option> - </option> 
     @foreach($news as $news_data) 
     <option value="{{ $news_data->category_id }}" selected>{{ $news_data->category }}</option> 
     @endforeach 
    </select> 
</form> 
+0

やあ、その作業:) はあなたの助けをありがとうございましたからすべてのレコードを選択するには、しかし、あなたがニュースを$かを説明することができます[0]意味ですか?このような配列のインデックスを呼び出すのですか? コレクション{#178▼ #items:アレイ:4 [▼ 0 => {#168▶} 1 => {#180▶} 2 => {#186▶} 3 => {#187 ▶} ] } – rafitio

+0

$ news [0]ニュースアレイから最初のレコードを取得する – Komal