如何解决基于自定义属性的Laravel关系不能同时双向
为产品和类别建模。
产品模型具有以下自定义属性:getCategoryIdAttribute()
。因为获取类别ID的方法有点复杂。
使用该属性,我可以定义关系(产品->类别):
public function category()
{
return $this->belongsTo(Category::class,'category_id','id');
}
这种关系很好!
但是现在在Category模型上:
public function products()
{
return $this->hasMany(Product::class,'id');
}
如果我使用这种关系,则在sql上将失败。
修补程序示例:
Product::first()->category; // Works!
Category::first()->products; // Undefined column: 7 ERROR: column products.category_id does not exist
为什么当我使用产品->类别关系但类别->产品不起作用时?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。