2016-10-23 139 views
1

選擇的選項我要選擇的選項上我的下拉菜單設置, 這樣我已經設置如何設置laravel

@foreach($news as $news_data) 
    @if($news_data->category_id) 
     <option value="{{ $news_data->category_id }}" selected>{{ $news->category }}</option> 
    @else 
     <option value="{{ $news_data->id }}">{{ $news_data->category }}</option> 
    @endif 
@endforeach 

代碼,這我控制器

public function edit($id) 
{ 
    /*show current selected*/ 
    $news = News::find($id) 
     ->leftJoin('categories','news.category_id', '=', 'categories.id') 
     ->select('news.category_id', 'news.content', 'news.title' ,'categories.category', 'categories.id') 
     ->where('news.id', '=', $id) 
     ->get()->first(); 

     // /dd($news->id); 

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

} 

但我得到這樣

錯誤試圖讓非對象的屬性

回答

0

我在這裏發佈代碼片段時遇到了一些麻煩。

檢查了這一點:

http://laravel.io/bin/0eYar

希望它能幫助。

+0

嗨:) 感謝您的幫助。我在這裏使用2個查詢 – rafitio

0

你只是抓住第一個數據並迭代它。 dd($news);給你什麼?

+0

DD($新聞);已顯示屬性如下 '#attributes:array:5 [▼ 「category_id」=> 1 「content」=>「」 「title」=>「test upload」 「category」=>「POLITIK」 「ID」 => 1 ] ' 如果我沒有使用第一個()我得到這樣 未定義的屬性錯誤:照亮\數據庫\雄辯\收藏:: $ ID – rafitio

+0

你應該做2個此處查詢。左連接部分不完全正確。 –

0

你不要選擇news.id。但查看頁面,您將獲取$news_data->id

<option value="{{ $news_data->id }}">{{ $news_data->category }}</option> 

試試這個:

$news = News::leftJoin('categories','news.category_id', '=', 'categories.id') 
     ->select('news.id','news.category_id', 'news.content', 'news.title' ,'categories.category', 'categories.id') 
     ->where('news.id', '=', $id) 
     ->get();