我有两个表:albums
和categories
。
我在我的索引页面中使用包含category_id
的foreach
循环来显示专辑的详细信息。
我想要显示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
。
发布于 2015-09-29 14:08:36
首先,在你的模型中,创建关系,执行以下步骤:
Albums.php
public function category()
{
return $this->belongsTo('Category', 'id');
}
Categories.php
public function categories()
{
return $this->hasMany('Album');
}
控制器
public function index()
{
$albums = Album::all();
return View::make('admin.profile.index', compact('albums'));
}
视图
@foreach($albums as $album)
<tr>
<td>{{ $album->album_name }}</td>
<td>{{ $album->category->title }}</td>
<td>{{ $album->created_at }}</td>
</tr>
@endforeach
发布于 2015-09-29 13:18:45
在控制器中添加列选择,如下所示:
public function index()
{
$albums = Album::all();
$categories = DB::table('albums')
->join('categories','albums.category_id','=','categories.id')
->select('*,categories.category_name as cat_name')->get();
return view('admin.profile.index',compact('albums','categories'));
}
查看代码:
@foreach($albums as $album)
<tr>
<td>{{$album->album_name}}</td>
<td>{{$album->cat_name}}</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
https://stackoverflow.com/questions/32844240
复制相似问题