【发布时间】:2017-02-06 20:48:08
【问题描述】:
我遇到了一个问题,确实只是一个小麻烦,但是...
基本上我需要的是一个用于选择框的关联数组。通常,这将使用pluck() 函数来实现。
问题是,我想用作“文本”的属性实际上并不存在于数据库中,它是一个将两个字段合二为一的mutator。
public function getNameAttribute() {
return $this->first_name . ' ' . $this->last_name;
}
我知道将'name' 字段添加到模型上的$appends 数组将在将模型转换为数组时包含该字段,但这似乎不适用于pluck()
有没有一种简单的方法来实现我想要的?我缺少函数或声明?有什么比手动循环遍历集合并创建我自己的关联数组更有说服力的吗?
更新
我是个白痴。我正在传递一个数组来采摘而不是两个参数。显然 pluck 确实利用了$appends 属性。请注意,这仅在使用集合时有效:
$collection->pluck('mutatedValue', 'key');
不是查询生成器
$queryBuilder->pluck('mutatedValue', 'id');
【问题讨论】: