laravel关联模型

2022-12-14  本文已影响0人  耍帅oldboy

例如,如果每个供应商都有一个用户,并且每个用户与一个用户历史记录相关联,那么供应商可以通过用户访问用户的历史记录,让我们看看定义这种关系所需的数据库表:

users

    id - integer
    supplier_id - integer

suppliers
    id - integer

history

    id - integer
    user_id - integer

原本是使用一对一远程,居然对驼峰命名的字段不支持,不知道是不是laravel的bug,改成了一对多嵌套关联,实现起来也挺简单

class UserModel{
      public function history(){
            return $this->hasOne(HistoryModel:class,'user_id','id');
       }
}

class SuppliersModel{
       
       public function users(){
            return $this->hasMany(UserModel:class,'supplier_id','id');
       }

        public function all(){
            return SuppliersModel::with('users.history')->get();
       }
}
上一篇下一篇

猜你喜欢

热点阅读