【发布时间】:2015-09-29 12:37:49
【问题描述】:
我有两张桌子:albums 和 categories。
我正在使用foreach 循环显示专辑详细信息,该循环在我的索引页面中包含category_id。
我想显示category_name 而不是category id。
我正在使用 Laravel
控制器代码..
public function index() {
$albums = Album::all();
$categories = DB::table('albums')
->join('categories','albums.category_id','=','categories.id')
->select('*')->get();
return view('admin.profile.index',compact('albums','categories'));
}
查看代码:
@foreach($albums as $album)
<tr>
<td>{{$album->album_name}}</td>
<td>I want to diplay category_name here</td>
<td>{{$album->created_at}}</td>
<td>
<input type="image" src="images/icn_edit.png" title="Edit">
<input type="image" src="images/icn_trash.png" title="Trash">
</td>
</tr>
@endforeach
我想在第二个<td> 标签内显示category_name。
【问题讨论】:
-
您将
albums和categories都传递给视图。这似乎是多余的。您已经在查询中加入了 2。从外观上看,您只需将categories传递给视图并通过它循环。也别做select *,拿走你需要的。 -
我应该如何继续如果我不通过两者,那么我将如何在第二个
标记中获取 Category_name。请提出任何其他方式 您正在对 2 个表进行基本连接,您将获得所需的所有信息。 var_dump 类别,看看你得到了什么。