Laravel Restful控制器ID

时间:2014-11-26 11:58:52

标签: php mysql laravel-4

因此,为了解释我的问题,每当我使用Laravel连接到数据库时,它将默认搜索id列为“id”。

enter image description here

如果我将我的列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

2 个答案:

答案 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!