访问多个id列,laravel join

时间:2014-06-14 14:56:17

标签: php laravel laravel-4

我正在尝试加入三个表,并访问其中两个表的id列:作业 - 显示保存作业状态的详细信息和job_interviews - 接受或拒绝。

具体来说,我遇到的问题是我需要访问两个id字段:jobs.id允许用户查看详细信息,job_interviews.id发送他的接受或拒绝响应。

我设置了这样的联接:

public static function respondInterviews($jobID){
    return DB::table('job_interviews')
                ->join('jobs', 'jobs.id', '=', 'job_interviews.job_id')
                ->join('contractors', 'contractors.user_id', '=', 'job_interviews.send_to')
                ->where('jobs.user_id', '=', $jobID)
                ->select('jobs.id', 'job_interviews.id as interview_id', 'jobs.title', 'contractors.user_id', 'contractors.contact_name', 'job_interviews.status', 'jobs.created_at', 'jobs.budget', 'jobs.workType','job_interviews.send_to')
                ->get();
}

我试图设置" id"通过指定

分开列
'job_interviews.id as interview_id',

然后在我的页面视图中,我遍历访谈列表,然后调用两个id变量:

{{$interview->id}} //which accesses jobs.id and works great
{{$interview->interview_id}} //which is supposed to access job_interviews.id but is not working

laravel给我的错误是:

Undefined property: stdClass::$interview_id

如何访问job_interviews.id列?在此先感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

我不熟悉幼虫,但你的代码看起来不错。因此,我的解决方案是尝试更改列的名称,同时执行var_dump($interview)以在任何位置查看对象。另一种方法是仔细检查查询本身是否有效。打开服务器的命令窗口或打开像mysql workbench这样的工具,然后在那里尝试查询以确保一切正常。如果它是主键,它应该在那里。