Я новичок в Laravel и столкнулся с проблемой в отношениях.У меня есть три таблицы.
asset assetmaintenance users
id id id
name asset_id name
inspector_id(users_id)
name
Я хочу получить доступ ко всем пользователям, прикрепленным к активу, через assetmaintenance
, поэтому я определяю отношение в модели активов следующим образом:
public function users(){
return $this->hasManyThrough(TenantUser::class,AssetMaintenance::class,'asset_id','id');
}
Но запрос сгенерированкрасноречиво отличается от того, что я ожидал:
select * from `assets` where exists (select * from `users` inner join `assets_maintenance` on `assets_maintenance`.`id` = `users`.`id` where `assets`.`id` = `assets_maintenance`.`asset_id` and `username` like ?) and `isDeleted` = ? order by `id` desc
Я хочу отношение как assets_maintenance.inspector_id= users.id
, но оно сравнивает assets_maintenance.id = user.id
.
Пожалуйста, предложите ...