Size: a a a

Laravel для начинающих

2021 January 29

Е

Евгений in Laravel для начинающих
и оставить только поля id, email
источник

SG

Sergey Gerasimov in Laravel для начинающих
Евгений
$users = isset($model->user_id)? User::findOrFail($model->user_id) : ( isset($model->users) ? $model->users : null );
в первом условии получается eloquent, во втором - коллекция из $model->users.
как сделать чтобы на выходе была в любом случае коллекция?
$users = collect()->push($users)->flatten() так?
$model->users()->get(['id', 'email'])
источник

Е

Евгений in Laravel для начинающих
Sergey Gerasimov
$model->users()->get(['id', 'email'])
User::findOrFail($model->user_id) а это как впихнуть в коллекцию?
источник

SG

Sergey Gerasimov in Laravel для начинающих
Евгений
User::findOrFail($model->user_id) а это как впихнуть в коллекцию?
У тебя в $models есть 2 связи с юзером?
источник

Е

Евгений in Laravel для начинающих
модель динамически получаем, т.е. в одном случае там может быть связь users(), в другом нет
источник

Е

Евгений in Laravel для начинающих
правильней там мне нужно было так показать: $model1, $model2
источник

Е

Евгений in Laravel для начинающих
$users = isset($model1->user_id)? User::findOrFail($model1->user_id) : ( isset($model2->users) ? $model2->users : null );
источник

k

kaktus778 in Laravel для начинающих
привет всем)) работаю обычно с виндой и докером под wsl2.. но тут пришлось развернуть проект на убунте..
и чет не хочет воркать. получаю ошибку
flock() expects parameter 1 to be resource, bool given

такое будто с правами какой то косяк.. посмотрел на файлы проекта, владелец текущий пользователь..
никто не в курсе что делать?)
источник

Е

Евгений in Laravel для начинающих
Евгений
$users = isset($model1->user_id)? User::findOrFail($model1->user_id) : ( isset($model2->users) ? $model2->users : null );
если есть User::findOrFail($model1->user_id) тогда добавить в коллекцию, если нет и есть $model2, тогда получить $model2->users
источник

SG

Sergey Gerasimov in Laravel для начинающих
Евгений
$users = isset($model1->user_id)? User::findOrFail($model1->user_id) : ( isset($model2->users) ? $model2->users : null );
Создай интерфейс, например, HasUserCollection и проверяй на instanceof.

$query = $model instanceof HasUserCollection ? $model->users() : $model->user();
$users = $query->get(['id', 'email']);
источник

SG

Sergey Gerasimov in Laravel для начинающих
Евгений
если есть User::findOrFail($model1->user_id) тогда добавить в коллекцию, если нет и есть $model2, тогда получить $model2->users
Ааа, у тебя 2 модели?
источник

Е

Евгений in Laravel для начинающих
да
источник

SG

Sergey Gerasimov in Laravel для начинающих
Какая-то хрень у тебя. Куда пушишь...
источник

Е

Евгений in Laravel для начинающих
как добавить модель в коллекцию?
источник

SG

Sergey Gerasimov in Laravel для начинающих
Евгений
как добавить модель в коллекцию?
Зачем?
источник

SG

Sergey Gerasimov in Laravel для начинающих
У тебя нет коллекции
источник

SG

Sergey Gerasimov in Laravel для начинающих
Получи коллекцию просто
источник

Е

Евгений in Laravel для начинающих
Sergey Gerasimov
Зачем?
блин, чтобы потом циклом пройтись по $users as $user
источник

SG

Sergey Gerasimov in Laravel для начинающих
Евгений
блин, чтобы потом циклом пройтись по $users as $user
Ну так зачем делать find, если можно сделать where get
источник

Е

Евгений in Laravel для начинающих
Sergey Gerasimov
Ну так зачем делать find, если можно сделать where get
просто там уже есть готовый интерфейс из сервиса, пользуюсь им
источник