在Laravel中的foreach内部更改属性

时间:2018-10-17 16:10:39

标签: php laravel

所以我正在使用laravel,并且我有一个表,其中包含id,category_name,parent_id,desc和url。

然后在视图中,我使用以下代码foreach表:

@foreach($categories as $category)
    <tr class="gradeX">
        <td>{{ $category->id }}</td>
        <td>{{ $category->name }}</td>
        <td>{{ $category->parent_id }}</td>
        <td>{{ $category->description }}</td>
        <td>{{ $category->url }}</td>
        <td class="center">
            <a href="{{ url('/admin/edit-category/'.$category->id) }}" class="btn btn-primary btn-mini">Edit</a> 
            <a href="{{ url('/admin/delete-category/'.$category->id) }}" class="delCat btn btn-danger btn-mini">Delete</a>
        </td>            
    </tr>
@endforeach

现在,我不想显示parent_id,而是要显示父类别名称。 我已经尝试了很多东西,但是没有任何效果。

我知道这可能是一个非常简单的问题,但是我才刚刚开始自己​​学习Web开发。所以,请忍受我。

谢谢。

1 个答案:

答案 0 :(得分:6)

  1. 在“类别”模型中定义父级关系。 https://laravel.com/docs/5.7/eloquent-relationships
  2. 在要获取类别的查询中尽快加载该关系。 https://laravel.com/docs/5.7/eloquent-relationships#eager-loading
  3. 在视图中访问已加载的关系,例如$category->parent->name