我不能使belongsTo关系工作(或我使用错误的关系).
我的数据库结构(简化):
网页:
id | title | main_image ----------------------- 1 | Test | 5
媒体:
id | filepath ----------------------- 5 | uploads/test.jpg
所以我希望能够执行$page-> main_image,它会返回我的Media模型实例,所以我可以使用$page-> main_image-> filepath等.
public function main_image()
{
return $this->belongsTo('App\Modules\Media\Models\Media', 'id', 'main_image');
}
但是,当我执行$page-> main_image时,我只得到int 5.我在这里使用了错误的关系吗?
谢谢!
解决方法:
访问$page-> main_image时,如果没有相同名称的属性,Eloquent将只尝试查找main_image()关系.但是你已经有了一个名称main_image.因此,您应该重命名attribut(列名称)或关系.我会将列重命名为main_image_id.
要返回的优先级/顺序是:
>公共对象属性(public $main_page)
> GetAccessor($page-> getMainPage())
>表格列/属性($page-> attributes [‘main_page’])
>表格中的属性/列($this-> attributes [‘main_page’])
>加载关系($this-> relations [‘main_page’])
>卸载关系($this-> main_page() – > get())
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。