1
,比如我有4個表:
建築
ID,標題,...
客房
ID,building_id,標題,...
公司
ID,標題,...
companies_to_buildings
COMPANY_ID,building_id
我想從房間模型中獲得公司。
從建築模型,我可以做這樣的事情belongsToMany上不是主要的領域
class Building extends Model
{
public function companies(){
return $this->belongsToMany('App\Company', 'company_building');
}
}
或
class Building extends Model
{
public function companies(){
return $this->belongsToMany('App\Company', 'company_building', 'building_id', 'company_id');
}
}
,但如果我這樣做在房間模型,這是行不通的。它會嘗試在companies_to_buildings表中找到其中companies_to_buildings.building_id = room.id的行。我怎樣才能從房間模型中獲得公司?
我應該在hasManyThrought使用哪個型號?
公共職能公司(){$返回這 - > hasManyThrough( '應用程序\公司', '應用程序\建築', 'building_id', '身份證', 'building_id');}
創建查詢像
選擇公司(5)
但我需要這樣的東西:
選擇公司。*,來自公司。*,來自公司內部加入建築building.building_id = company.id其中company.deleted = 0和building.building_id內部加入companies_to_buildings on companies_to_buildings.company_id = company.id where company.deleted = 0 and companies_to_buildings.building_id in(5) –