如何使用雄辩的关系获取列数据

时间:2019-09-05 08:25:56

标签: php laravel eloquent

我不会得到id下的sub-category的{​​{1}}。我尝试使用

在路由文件中传递category的值
  

$ categories-> subcategory-> id

但是它给我一个错误:

  

此集合实例上不存在属性[subcategory]。

这是我的关系:

类别

id

这是我的刀片

class Category extends Model
{
    protected $fillable = ([
        'name'
    ]);

    public function subcategory(Type $var = null)
    {
        # code...
        return $this->hasMany(Subcategory::class,'category_id','id');
    }
}

控制器

<form action="{{route('subcategory.update', $categories->subcategory->id)}}">
    <div class="modal-body">
        ...
    </div>
    <div class="modal-footer">
        <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
        <button type="button" class="btn btn-primary">Save changes</button>
    </div>
</form>

1 个答案:

答案 0 :(得分:3)

听起来您的$categories变量是Category::class的集合?

请记住,由于subcategoryHasMany函数将返回多个项目

您可以尝试以下操作:

$categories->first()->subcategory->first()->id

OR

$categories->subcategory->first()->id

如果没有,则可以将subcategory的{​​{1}}关系添加到Category::class数组,这样它会自动加载。然后重试。

要使用$with数组:

$with