我正在尝试连接三个表,并访问其中两个表的id列:Jobs(显示详细信息)和job_interviews(保存工作状态)(接受或拒绝)。
具体来说,我遇到的问题是我需要访问两个id字段:工作。Id,允许用户查看详细信息和job_interview。发送他的接受或拒绝响应。
我这样设置我的join:
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_interview。id列?谢谢你的帮助。
我不熟悉larval,但你的代码看起来不错。所以我的解决方案是尝试改变列的名字,同时做var_dump($interview)
,看到它在对象的任何地方。另一种方法是再次检查查询本身是否正常工作。打开服务器的命令窗口或打开mysql工作台之类的工具,并在那里尝试查询,以确保一切正常。如果它是主键,它应该在那里