我正在使用雄辩的多态关系来管理不同模型与其他称为company的模型之间的数据透视表。
我必须使用雄辩的查询构建器使用model_id和model_type在车辆表和数据透视表之间进行联接查询。但是当我这样做时:
$builder->join('pivot_table', function($join){
$join->on('vehicle.id','=','pivot_table.model_id')
->on('pivot.model_type', Vehiculo::class );
})->select('vehicle.*',pivot_table.*)->get();
此代码不返回任何结果。但是,如果我将第二个on子句更改为:
$builder->join('pivot_table', function($join){
$join->on('vehicle.id','=','pivot_table.model_id')
->on('pivot.model_type', 'like' , '%Vehiculo%');
})->select('vehicle.*',pivot_table.*)->get();
此代码正确运行并返回所需的结果,但我认为这是获取结果的错误方法。
有人知道是否有一种方法可以使第一个代码运行?
感谢您的答复。
答案 0 :(得分:0)
好的。我解决了解决方案是将第二个更改为
$builder->join('pivot_table', function($join){
$join->on('vehicle.id','=','pivot_table.model_id')
->where('pivot.model_type' , Vehiculo::class);
})->select('vehicle.*',pivot_table.*)->get();