laravel pluck take orderby Method Illuminate\\Support\\Collection::orderBy does not exist
时间: 2023-06-30 10:20:46 浏览: 178
这个错误提示意味着你在 Laravel 中的集合对象上调用了 `orderBy` 方法,但是这个方法并不存在于集合对象中。
`orderBy` 方法是针对查询构建器的,而不是集合对象。如果你想对集合对象进行排序,可以使用集合对象的 `sortBy` 或 `sortByDesc` 方法。
另外,`pluck` 方法与 `take` 方法也是集合对象的方法,可以用于从集合对象中取出指定字段的值或者取出指定数量的元素。这些方法都不会影响集合对象的排序。
示例代码:
```php
// 从 users 表中取出 name 字段的值,并按照 id 升序排序
$names = DB::table('users')->orderBy('id')->pluck('name');
// 从集合对象 $users 中取出前 10 个元素
$top10 = $users->take(10);
// 对集合对象 $users 按照 age 字段降序排序
$sorted = $users->sortByDesc('age');
```
希望能帮到你解决问题。
相关问题
laravel pluck 方法
Laravel 的 pluck 方法用于从集合中获取指定键的所有值。它接受一个参数作为键名,并返回指定键的值列表。该方法适用于集合和 Eloquent 查询构建器实例。以下是一个使用 pluck 方法从 Eloquent 模型中获取指定列的示例:
```
$titles = App\Post::pluck('title');
```
该示例将返回所有文章的标题列表。你也可以使用 pluck 方法来获取集合中嵌套数组中的值,例如:
```
$users = collect([
['name' => 'John', 'email' => 'john@example.com'],
['name' => 'Jane', 'email' => 'jane@example.com']
]);
$emails = $users->pluck('email');
```
该示例将返回所有用户的电子邮件地址列表。
laravel pluck 方法 参数
Laravel 的 pluck 方法接受一个参数作为键名,该参数指定要提取的键的名称或索引。要使用 pluck 方法,你需要具有集合或 Eloquent 查询构建器实例。以下是 pluck 方法的语法:
```
$collection->pluck('key');
$query->pluck('column');
```
其中 `$collection` 是集合实例,`$query` 是 Eloquent 查询构建器实例,`'key'` 是要提取值的键名,`'column'` 是要提取值的列名。注意,pluck 方法返回一个新的集合或数组,其中包含指定键的值。
阅读全文