model中定义方法(user)
public function getRole(){
$data = $this->hasOne(Roles::class,"id(role中的id)","rolle_id(user中的)");
return $data;
}
其他地方使用这个方法
Users::with('getRole:id,name')->get(['name','role_id'])->toArray();
//with里面对于role表而言,get对于users
一对多
class Roles extends Model
{
//
protected $table="role";
public function getUser(){
$data = $this->hasMany(Users::class,"role_id","id");
return $data;
}
}
Roles::with('getUser:id,name,role_id')->get(['name','id'])->where('id',1)->first()->toArray();
多对多
class Student extends Model
{
//
protected $table="student";
public function getSource(){
return $this->belongsToMany(Source::class,"stu_source","stu_id","source_id");
}
}
Student::where(['id'=>1])->with("getSource:num,s_name,stu_id")->get(["id","name"])->first()->toArray();