如何将数组转换为对象$ user ['name']>>>> $用户>的名字?

时间:2016-07-10 10:31:40

标签: php laravel

有没有laravel解决方案?收集不起作用。 Symfony也会工作。

outline

这是我的方法:

    $a = User::all(); //Eloquent Collection <-- i want my method to return this

    $users = User::rating();  //Eloquent Collection <-- i want my method to return Eloquent Collection

    return $users; // array

所以我可以使用此 public static function rating() : array { $arr = []; $data = static::calculateRating() //array; foreach ($data as $item) { $user = static::with("reviews")->find($item->id); $user = collect($user); $user->put("rating", (int)$item->rate_sum); $arr[] = $user; } return $arr; } 代替$user->name

2 个答案:

答案 0 :(得分:3)

只需使用强制转换操作符

$userObject = (object) $user;

此处指定http://php.net/manual/en/language.types.object.php

  

数组转换为具有按键和相应值命名的属性的对象,但除非迭代,否则将无法访问的数字键除外

答案 1 :(得分:1)

我会尝试

$user = json_decode(json_encode($user));