访问多个id列,laravel连接


Accessing multiple id columns, laravel join

我正在尝试连接三个表,并访问其中两个表的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工作台之类的工具,并在那里尝试查询,以确保一切正常。如果它是主键,它应该在那里