我通过公司ID检索了位置的集合。一个公司可以有许多位置。现在,我正在尝试从某个位置检索人员。一个地点可以有许多工作人员。
Firm
-hasMany关系函数,称为:firmLocations
。 Location
-名为Firm
的归属关系函数。还有一个名为Staff
的hasMany函数。 Staff
-名为Location
的归属关系函数。 Staff
模型仅与Location
模型相关。
代码在控制器的显示功能中。
我现在想,我有一家特定公司的相关地点,我可以使用该集合来获取工作人员。但是,我遇到了障碍,我们将不胜感激。谢谢。
public function showFirm($id)
{
// Get locations of a firm by id
$firm_locations = Firm::find($id)->firmLocations;
}
答案 0 :(得分:1)
您可以根据位置以及公司检索员工。
public function showFirm($id) {
// Get locations of a firm by id with staff member from location
$firm_locations = Firm::where('id',$id)->with('firmLocations.staff')->first();
// Above function retrieve Firm with Location and Location will have staff.
}
我假设您已经正确建立了关系并且您已经掌握了关系知识。