Laravel : 调用未定义的方法 Illuminate\\Database\\Query\\Builder
Laravel : Call to undefined method Illuminate\\Database\\Query\\Builder
在查询时使用 undefine 方法得到错误。只是我想从两个表查询中获取数据 look linke
public static function userDetail($id){
$result = User::whereHas('user_details', function ($query) {
$query->where('user_details.user_id',$id);
})->first();
return $result ;
}
关系
在模型上 User
定义关系
public function userDetails()
{
return $this->hasOne(UserDetails::class);
}
并且在 userDetails
模型中
public function user()
{
return $this->belongsTo(User::class);
}
如果您不需要使用 static,您可以在 userDetails
上使用这个 $result 值
public function userDetail($id){
$result = userDetails::where('user_id', '=', $id)->first();
return $result ;
}
然后结果可以通过$value->user->{user 属性}
从vale获取用户的访问权限
只是改变
public static function userDetail($id){
$result = User::whereHas('user_details', function ($query) use($id) {
$query->where('user_id',$id);
})->first();
return $result ;
}
在查询时使用 undefine 方法得到错误。只是我想从两个表查询中获取数据 look linke
public static function userDetail($id){
$result = User::whereHas('user_details', function ($query) {
$query->where('user_details.user_id',$id);
})->first();
return $result ;
}
关系
在模型上 User
定义关系
public function userDetails()
{
return $this->hasOne(UserDetails::class);
}
并且在 userDetails
模型中
public function user()
{
return $this->belongsTo(User::class);
}
如果您不需要使用 static,您可以在 userDetails
上使用这个 $result 值public function userDetail($id){
$result = userDetails::where('user_id', '=', $id)->first();
return $result ;
}
然后结果可以通过$value->user->{user 属性}
从vale获取用户的访问权限只是改变
public static function userDetail($id){
$result = User::whereHas('user_details', function ($query) use($id) {
$query->where('user_id',$id);
})->first();
return $result ;
}