我有两个表JobOrder
和Job
。我正在使用一对多关系。
一个Job
可以有多个JobOrder
,一个JobOrder
只能属于一个Job
。
JobOrder模型:
public function job()
{
return $this->belongsTo(Job::class);
}
控制器:
public function getAllJobOrder()
{
$results = JobOrder::with('job')->get();
return $results;
}
上面的代码返回如下数据:
我只想获取job->position
并创建一个别名,如下所示:
我实际上可以使用withCount
来获得上图中的收益,但是我认为这不是正确的方法。
public function getAllJobOrder()
{
$results = JobOrder::withCount(['job AS position' => function ($q) {
$q->select('position');
}])->get();
return $results;
}
除了使用withCount
之外,还有其他方法吗?
答案 0 :(得分:2)
尝试一下:
控制器
public function getAllJobOrder()
{
$results = JobOrder::with('job')->get();
foreach($results as $result){
$result->position = $result->job->position;
unset($result->job);
}
return $results;
}