我正在尝试加入三个表,并访问其中两个表的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列?在此先感谢您的帮助。
答案 0 :(得分:0)
我不熟悉幼虫,但你的代码看起来不错。因此,我的解决方案是尝试更改列的名称,同时执行var_dump($interview)
以在任何位置查看对象。另一种方法是仔细检查查询本身是否有效。打开服务器的命令窗口或打开像mysql workbench这样的工具,然后在那里尝试查询以确保一切正常。如果它是主键,它应该在那里。