首页 > 解决方案 > 在 laravel 中更改 foreach 内的属性

问题描述

所以我正在使用 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 开发。所以请多多包涵。

谢谢你。

标签: phplaravel

解决方案


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

推荐阅读