有没有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
答案 0 :(得分:3)
只需使用强制转换操作符
$userObject = (object) $user;
此处指定http://php.net/manual/en/language.types.object.php
数组转换为具有按键和相应值命名的属性的对象,但除非迭代,否则将无法访问的数字键除外
答案 1 :(得分:1)
我会尝试
$user = json_decode(json_encode($user));