【发布时间】:2017-10-29 14:37:12
【问题描述】:
我正在尝试学习 laravel 范围,我创建了我的第一个范围,但我收到此错误消息 npw
Support.php 第 26 行中的错误异常: 未定义属性:Illuminate\Database\Eloquent\Builder::$User
这是一行
public static function getTicket($id)
{
$ticket = Support::where('id', $id)->User::owner(Auth::user()->id)->first();
return $ticket;
}
这是在用户模型中
public function scopeOwner($query, $flag)
{
return $query->where('user_id', $flag);
}
用户与支持之间的关系
public function user()
{
return $this->belongsTo('App\User');
}
你能解释一下我做错了什么吗?
【问题讨论】:
-
我的第一个猜测是:Support::where('id', $id)->user->owner(Auth::user()->id)->first();但是支持模型必须与用户模型相关。
-
确实如此,但我仍然遇到同样的错误
-
Support::where('id', $id)->user()->owner(Auth::user()->id)->first(); ?
-
现在我在 Builder.php 第 2451 行得到了这个 BadMethodCallException:调用未定义的方法 Illuminate\Database\Query\Builder::user()
-
您能否说明您如何定义支持和用户之间的关系?