2016-10-04 113 views
2

我使用leftJoin上laravel,但它得到一个错误

未定义的属性:照亮\数据库\雄辩\收藏:: $ ID

这里控制器

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

    //dd($news); 

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

我一直在使用get(尝试示例代码) - >第(),但它只是只显示第一个记录。 如果我使用像这把剑的foreach,错误是一样的

<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

尝试做这样的

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

- “新闻”>选择(“类别 “)//要选择新闻类

<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

相关问题