没有获得laravel外国钥匙表[错误]



我在控制器中具有此功能:

  /**
    *
    * 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('AppUser', 'id', 'user_id');
 }

但是当我在控制器中调用users()时,我总是得到

致电未定义的方法照明 database query builder :: users((

我在做什么错?

善意

我认为您可以尝试以下操作:

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]);
    }

希望这项工作为您

如果您的关系以正确的方式写入,请尝试以下操作:

$logs = Log::where('registration_id', $id->id)->users->get();

最新更新