Я новичок в 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'); }
Но запрос, сгенерированный eloquent, отличается от того, что я ожидал:
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
.
Пожалуйста, предложите ...