example
public function course()
{
return $this->belongsTo(Course::class, ['user_id', 'teacher_id', 'tpye_id',], ['user_id', 'teacher_id', 'tpye_id',])
->select([
'id',
'user_id',
'teacher_id',
'tpye_id',
]);
}
sql
select * from `course`
where (
(
`course`.`user_id` = 1
and `course`.`teacher_id` = 5
and `course`.`type_id` = 1
)
or (
`course`.`user_id` = 2
and `course`.`teacher_id` = 6
and `course`.`type_id` = 3
)
)
原始碼分析
如果foreignKeys是空,預設使用指定表的主鍵。
如果foreignKeys是陣列,迴圈並且使用DB::raw組合成一個新的where條件
如果localKey是空,預設使用指定表的主鍵。
注意
使用多列with的兩個Model都要use Compoships;