因此,为了解释我的问题,每当我使用Laravel连接到数据库时,它将默认搜索id列为“id”。
如果我将我的列jobID命名为例如,我想控制器搜索“jobID”而不是“id”。我可以将我的所有表ID列更改为“id”但是当您使用Laravel的左连接时会导致问题,因为它会将最新的id列作为实际的id列。
继承人我的加入:
$jobs = Job::leftJoin('occupational_areas', function($join) {
$join->on('jobs.occupationalArea', '=', 'occupational_areas.id');
})->get();
然而Restful控制器默认为“id”,这就是我要问的,我如何更改默认的“id”以成为更自定义的东西,如jobID
答案 0 :(得分:1)
尝试使用此左连接
$jobs = Job::select('occupational_areas.id as occ_id', 'jobs.id as jobs_id', your required values)
->leftJoin('occupational_areas', 'jobs.occupationalArea', '=', 'occupational_areas.id')
->get();
错误评论
答案 1 :(得分:1)
原来最简单的方法是设置:
protected $primaryKey = 'jobID';
进入你的模特。
我很确定Ronser的方法也是正确的。要么工作。
感谢Ronser!