laravel eloquent相关表格语法

时间:2015-10-13 16:39:18

标签: laravel object eloquent

我有三张桌子,工作人员,地点和部门。 staff表包含位置和部门的字段,这些字段是数字的。位置和部门表具有id字段,员工表使用这些字段来引用位置和部门详细信息。我试图在视图中显示人员详细信息,但似乎无法在laravel文档中找到正确的语法来执行此操作而不创建一个asociative数组。

这是我在staffController文件中的内容

 public function index()
{
    $staff_details =  Staff::all();


    foreach($allStaff as $staff_member){
        $location = Locations::find($staff_member->location);
        $department= Departments::find($staff_member->department);

        $staff_details[] = array(
            'id' => $staff_member->id,
            'first_name' =>$staff_member->first_name,
            'surname' =>$staff_member->surname,
            'job_title' => $staff_member->job_title,
            'location'  => $location->location,
            'department'  => $department->department,

        );
    }


    return view('staff.index', compact('staff_details'));

}

但这是传递一个数组。我想传递一个staff_details对象做类似的事情 $staff_details = Staff::all()->locations($staff->location)->departments($staff->department);

显然这是不正确的语法。

有人能指出我正确的方向吗?

1 个答案:

答案 0 :(得分:2)

set up the proper relationships in your model之后,请使用with方法:

$staff_details = Staff::with('locations', 'departments')->get();