一直在关注laracast上的项目传单系列,当为单个用户创建第二个传单时,似乎出现了问题。
我可以创建传单,然后通过编写以下内容向创建传单的用户显示信息
{{ $flyer->owner->name }}
并且在我与该用户创建的第一张传单上显示正常。
但是,如果我随后尝试使用同一用户创建第二个传单,则会出现此错误:
Trying to get property of non-object...
dd()在第二张传单的$ flyer-> owner上抛出此错误:
null
而是在第一张传单上抛出:用户信息数组
看来我的人际关系有问题吗?但是,第一次如何运作似乎很奇怪,但是向单个帐户添加第二个传单会导致此错误。
我可以创建多个帐户,每个帐户都有一个传单,并且可以正常使用,但是一旦我将第二个传单添加到一个帐户中,它就会搞砸了。
我不确定是否从视频中错过了任何内容,但是到目前为止,没有一个人可以为每个帐户创建一个以上的传单。
因此,我自己解决了此问题。
在我的传单模型中,我错误地引用了外键。我一直在寻找“ id”,但我应该一直在寻找“ user_id”。
因此,传单模型的正确代码应为:
public function owner()
{
return $this->belongsTo('App\User', 'user_id');
}
我是通过在github上搜索项目传单的副本来发现这一点的,以查看我的代码是否可以看到任何不同之处。事实证明,这只是这个简单的解决方法。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句