同一表Laravel 5.4中的两个列值合并到Array中

时间:2017-05-28 10:55:57

标签: laravel-5 laravel-5.4

我想将example_1和example_2值合并到数组中。

example_1和example_2的类型为int。

User::select('example_1','example_2')->where('id',Auth::user()->id)->get();
// The result: [{"example_1":"1","example_2":"2"}]

example_1和example_2 if分别为1和2。

我想要一个数组:[1,2]

2 个答案:

答案 0 :(得分:2)

你可以做其中一个

$result = array_only(auth()->user()->toArray(), ['example_1','example_2']);

// Or

$result = User::where('id', auth()->id())->first(['example_1','example_2'])->toArray();

// Finally

$data = array_values($result);

答案 1 :(得分:0)

所有Eloquent查询都返回Collection个对象。这些可以更容易修改(通过collections methods)。

您可以使用first()从该集合中获取第一个对象。

现在,您可以像调用公共类属性一样调用Eloquent User模型的变量来访问它们。

您的最终代码如下:

$user = User::select('example_1','example_2')
          ->where('id',Auth::user()->id)->get()->first();

$array = [ $user->example_1, $user->example_2 ]; 
// The result: [1,2]