📅  最后修改于: 2023-12-03 15:17:14.582000             🧑  作者: Mango
在 Laravel 中,Eloquent 是一种灵活且强大的 ORM,它提供了许多有用的方法,让我们可以轻松地与数据库交互。Eloquent 集合是 Eloquent 模型返回的对象集合。
虽然 Eloquent 集合提供了许多方便的方法,但是有时我们需要将它们转换成普通的集合。这样可以使用更多的集合方法,例如 filter
、map
、reduce
等。
我们可以使用 collect
函数将 Eloquent 集合转换为集合:
$users = App\Models\User::all();
$collection = collect($users);
// 使用集合方法
$filtered = $collection->filter(function ($user) {
return $user->age > 18;
});
在这个示例中,我们使用 collect
函数将 $users
变量中的 Eloquent 集合转换为一个普通集合。然后我们可以使用集合方法 filter
过滤年龄超过 18 岁的用户。
如果我们需要将一个普通的集合转换为 Eloquent 集合,则可以使用 toBase
方法。这个方法将会返回一个 Eloquent 集合,而不是一个普通的集合对象。
$collection = collect([1, 2, 3]);
$users = $collection->toBase();
在这个示例中,我们创建了一个普通集合并将它转换为 Eloquent 集合 $users
。
在 Laravel 中,Eloquent 集合是非常方便的一种对象集合类型。但是有时候需要将它们转换为普通的集合,这样可以使用更多的集合方法。我们可以使用 collect
函数将 Eloquent 集合转换成普通的集合,并使用 toBase
方法将普通的集合转换成 Eloquent 集合。