使用多个键做模型关联
awobaz/compoships
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;
本作品采用《CC 协议》,转载必须注明作者和本文链接
一直没注意可以用数组,学习了
你这帖子,怎么说呢,我还以为底层可以使用数组传,还试了一下,结果是个扩展包 :unamused: :unamused: