【问题标题】:Laravel relationship Call to undefined method Illuminate\Database\Query\BuilderLaravel 关系调用未定义的方法 Illuminate\Database\Query\Builder
【发布时间】:2018-12-10 13:25:33
【问题描述】:

我正在尝试在用户和约会之间建立关系。

这是用户模型

public function session(){
      return $this->hasMany('App\Session');
    }

这是会话模型

public function user(){
  return $this->belongsTo('App\User');
}

在我的控制器中,我尝试这样称呼它

User::find(1)->session()->count();

但我得到了这个错误

调用未定义的方法 Illuminate\Database\Query\Builder::Session()

【问题讨论】:

  • 尝试$user = User::withCount('session')->find(1); 然后echo $user->session_count
  • 添加coun sellingSessions方法内容
  • 然后试试User::find(1)->session->count();
  • dd(get_class_methods(User::find(1))); 的结果是什么?

标签: laravel eloquent


【解决方案1】:

不要将 session 用于函数,只需创建模型 UserSession 和函数也如下所示

public function userSession(){
   return $this->hasMany('App\UserSession');
}

【讨论】:

    猜你喜欢
    • 2018-10-03
    • 2016-10-22
    • 1970-01-01
    • 1970-01-01
    • 2014-04-23
    • 2014-04-25
    • 2017-02-20
    • 2017-10-04
    • 2018-05-17
    相关资源
    最近更新 更多