Laravel雄辩提供数组,而不是整数

时间:2018-01-29 11:16:08

标签: laravel eloquent

我试图将id作为字符串返回并通过api传递(稍后再使用)

使用Laravel资源:

find

并返回一个数字数组,如:

public function toArray($request)
{

    return [
        'speciality' => $this->specialities()->pluck('speciality_id')
    ];
}

如何在eloquent查询中转换它们并像字符串一样返回?

[1, 3, 5, 7]

2 个答案:

答案 0 :(得分:2)

您可以loop通过数组,cast将其添加到字符串并添加到new array,因为这只是specific案例所必需的。

$a = [1, 3, 5, 7];
$b = array();
foreach($a as $as)
        $b[] = (string)$as;

return $b;

或者更好地使用array_map() -

$a = array_map(function($value){
        return (string) $value;
}, $a);

答案 1 :(得分:1)

有点糟糕,但如果没有选择的话 cast字符串

protected $casts=[
    'speciality_id'=>'string'
];