我在Controller中有这个功能:
/**
*
* Edit Registration
*
*/
public function edit(Registration $id)
{
$logs = Log::where('registration_id', $id->id)->users()->get();
dd($logs);
return view('registrations_edit', ['registration' => $id, 'log' => $logs]);
}
文档说我可以打电话
Log::where('registration_id', $id->id)->users()->get();
在模型中定义users()
时。
public function users(){
return $this->belongsTo('App\User', 'id', 'user_id');
}
但是当我在Controller中调用users()
时,我总是得到
调用未定义的方法Illuminate \ Database \ Query \ Builder :: users()
我做错了什么?
亲切的问候
答案 0 :(得分:0)
我想你可以试试这个:
public function edit(Registration $id)
{
$logs = Log::with('users')->where('registration_id', $id->id)->get();
dd($logs);
return view('registrations_edit', ['registration' => $id, 'log' => $logs]);
}
希望这对你有用
答案 1 :(得分:0)
如果你的关系写得正确,试试这个:
$logs = Log::where('registration_id', $id->id)->users->get();