我创建了文章模型并添加了方法:
public function brkon()
{
return $this->hasOne('App\Article\ArticleBrkon', 'articles_id', 'article_id')->where('user_id', '=', (int) Auth::user()->user_id);
}
但是当我是客人时,我看到了错误:
尝试获取非对象的属性
我为此改变了brkon:
public function brkon()
{
if (Auth::guest()) {
return;
}
return $this->hasOne('App\Article\ArticleBrkon', 'articles_id', 'article_id')->where('user_id', '=', (int) Auth::user()->user_id);
}
现在我遇到了这个问题:
关系方法必须返回一个类型的对象 照亮\数据库\锋\关系\关系
答案 0 :(得分:1)
你好作为修补程序,你可以使用
public function brkon()
{
$userId = 0;
if (Auth::user()) {
$userId = Auth::user()->user_id
}
return $this->hasOne('App\Article\ArticleBrkon', 'articles_id', 'article_id')->where('user_id', '=', (int) $userId);
}
但我认为您必须更改逻辑并且只允许授权用户调用此模型