laravel - 只获取一列并使用 laravel 中的“with()”函数为该列创建一个别名
问题描述
我有两张桌子,JobOrder
和Job
。我正在使用一对多的关系。
一个Job
可以有很多JobOrder
,一个JobOrder
只属于一个Job
。
工作订单模型:
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
吗?
解决方案
试试这个:
控制器
public function getAllJobOrder()
{
$results = JobOrder::with('job')->get();
foreach($results as $result){
$result->position = $result->job->position;
unset($result->job);
}
return $results;
}
推荐阅读
- r - 我正在尝试从每日数据中获取季节性融化信息。不能按季节汇总
- javascript - 使用 jQuery 验证 Vtiger CRM 6.2 字段(自定义模块)
- python - 将 bash 变量传递给 python 命令
- apache-kafka - Kafka KStream-KTable 加入竞争条件
- python-3.x - 如何在 RESTful Flask/SQLAlchemy/Marshmallow 环境中读取 GET 请求的参数
- c - SDCC / GBDK,将结构数组传递给函数
- sql - 如何在sql中找到两个时间值之间的差异
- python - 当 t[0] != 0 时从 signal.lsim 得到奇怪的结果
- php - 如何创建组合的 LETTER + ACCENT 像(e + ̀),在 PHP 中看起来像 è
- image - 您可以将 docker 映像转换/构建为完整的 OS 映像吗?