Я использую красноречивые полиморфные отношения, которые отлично подходят для управления сводной таблицей между различными моделями и другой моделью, называемой компанией.
У меня есть сводная таблица, которая имеет следующую структуру:
Я должен сделать запрос соединения между таблицей транспортных средств и сводной таблицей, используя model_id и model_type, используя eloquent построитель запросов.Но когда я делаю:
$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();
, этот код выполняется правильно и возвращает результаты, которые я хочу, но я думаю, что это неправильный способ получения результатов.
Кто-нибудь знает, есть ли способ заставить запустить первый код?
спасибо за ответы.