首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何显示名称而不是id

如何显示名称而不是id
EN

Stack Overflow用户
提问于 2015-09-29 20:37:50
回答 2查看 1.3K关注 0票数 1

我有两个表:albumscategories

我在我的索引页面中使用包含category_idforeach循环来显示专辑的详细信息。

我想要显示category_name而不是category id

我正在使用Laravel

控制器代码..

代码语言:javascript
代码运行次数:0
运行
复制
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'));
}

查看代码:

代码语言:javascript
代码运行次数:0
运行
复制
@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

EN

回答 2

Stack Overflow用户

发布于 2015-09-29 22:08:36

首先,在你的模型中,创建关系,执行以下步骤:

Albums.php

代码语言:javascript
代码运行次数:0
运行
复制
public function category()
    {
        return $this->belongsTo('Category', 'id');
    }

Categories.php

代码语言:javascript
代码运行次数:0
运行
复制
public function categories()
    {
        return $this->hasMany('Album');
    }

控制器

代码语言:javascript
代码运行次数:0
运行
复制
public function index()
    {
        $albums = Album::all();

        return View::make('admin.profile.index', compact('albums'));
    }

视图

代码语言:javascript
代码运行次数:0
运行
复制
 @foreach($albums as $album)
      <tr>
        <td>{{ $album->album_name }}</td>
        <td>{{ $album->category->title }}</td>
        <td>{{ $album->created_at }}</td>
      </tr>
    @endforeach
票数 3
EN

Stack Overflow用户

发布于 2015-09-29 21:18:45

在控制器中添加列选择,如下所示:

代码语言:javascript
代码运行次数:0
运行
复制
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'));

   }

查看代码:

代码语言:javascript
代码运行次数:0
运行
复制
  @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
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32844240

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档