如何在Controller Laravel中合并或组合模型的返回数据

时间:2017-03-29 11:36:05

标签: php laravel

我有3个功能,它是a() b()c()

然后,函数a()返回:

{
    id    =>
    total1 =>
}

函数b()也像funcion a()一样返回,但是有不同的值(total1和total2)

函数c()返回:

{
    id   => //same value just like function a or b
    name =>
}

$a = $model->a(); // from function a();
$b = $model->b(); // from function b();
$c = $model->c(); // from function c();

我希望将3个返回值组合成这样的数组:

array = ['id','name', 'total1', 'total2']

任何想法?感谢

2 个答案:

答案 0 :(得分:1)

您可以使用array_merge()array_keys()

array_keys(array_merge($a, $b, $c));

如果变量不是数组,请先将它们转换为toArray()json_decode()的数组。

如果函数返回Laravel集合,则可以使用merge()keys()帮助程序。

答案 1 :(得分:0)

您可以将结果转换为数组

$a = $model->a()->toArray(); // from function a();
$b = $model->b()->toArray(); // from function b();
$c = $model->c()->toArray(); // from function c();

然后

$data= array_merge($a , $b, $c)