例如,如果每个供应商都有一个用户,并且每个用户与一个用户历史记录相关联,那么供应商可以通过用户访问用户的历史记录,让我们看看定义这种关系所需的数据库表:
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();
}
}
网友评论