В Laravel при определении отношений между моделями методы отношений обычно возвращают экземпляр связанной модели или коллекцию связанных моделей. Однако если вы специально хотите, чтобы отношение вместо этого возвращало массив, вы можете добиться этого, используя метод toArray(). Вот пример:
Предположим, у нас есть две модели: Пользовательи Post. Модель Userимеет отношение «один ко многим» с моделью Post. Каждый пользователь может иметь несколько сообщений. Мы определим связь в модели Пользователь:
class User extends Model
{
public function posts()
{
return $this->hasMany(Post::class);
}
}
Чтобы получить сообщения пользователя в виде массива, вы можете использовать метод toArray()для отношения:
$user = User::find(1);
$postsArray = $user->posts()->get()->toArray();
В этом примере мы извлекаем пользователя с идентификатором 1, затем получаем доступ к связи postsи используем метод get()для получения всех связанных сообщений. Наконец, мы вызываем toArray(), чтобы преобразовать коллекцию сообщений в массив.