@mShpakov

Как использовать pluck() на уровне запроса?

Дано:
- laravel 5.6
- модель (назовем ее A) со связью hasMany (назовем ее B) к другой модели. Которая имеет строение колонок - id | a_id | key | value
Проблема:
Нужно извлечь данные вместе с связанными через hasMany. И тут проблема в том, что данные полученные через связь нужно предварительно пропустить через pluck('value', 'key').
Запрос делаю так:
$a = A::with('B')->get();
dd($a);

Связь в модели A так:
public function B()
    {
        return $this->hasMany(B::class);
    }


Возможно ли это сделать на уровне запроса? Или вариант только один - после получения данных крутить их циклом и переписывать данные внутри связи через pluck()?

PS именование сокращено для упрощения смысловой нагрузки.
  • Вопрос задан
  • 216 просмотров
Решения вопроса 1
alexey-m-ukolov
@alexey-m-ukolov Куратор тега Laravel
Этого нельзя сделать не только технически, но и по смыслу - на обеих сторонах отношения должны быть модели.
Вам нужно добавить в выборку нужные поля и "после получения крутить их циклом".
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы