【发布时间】:2018-01-29 19:46:25
【问题描述】:
我正在尝试将 id 作为字符串返回并通过 api 传递它们(稍后用于选择)
使用 Laravel 资源:
public function toArray($request)
{
return [
'speciality' => $this->specialities()->pluck('speciality_id')
];
}
它返回一个数字数组,例如:
[1, 3, 5, 7]
如何在 eloquent 查询中转换它们并像字符串一样返回?
["1", "3", "5", "7"]
【问题讨论】:
-
这没有意义,为什么你需要 id 作为字符串?您能否在需要将其作为字符串的地方显示此数据的可用性。
-
用于编辑页面,我有表单选择字段,它不接受数字数组,只接受字符串(vue js)
-
您可以将其映射到
strval函数上。$this->specialities()->pluck('speciality_id')->map('strval') -
@Dencker 这是更好的方法,但会报错:
strval() expects exactly 1 parameter, 2 given -
@gileneusz 啊。这只是一个警告,可以安全地忽略或抑制。如果您想按书行事,可以改为
->map(function($item){ return strval($item); })。