Laravel Вырвать из 'с отношением' - PullRequest
0 голосов
/ 28 мая 2020

Нужно оторваться от отношения. Я делюсь кодом ниже.

Мой контроллер:

$type = StandType::with(['brieftype' => function($q) use ($brief_id){
        $q->where('brief_id', $brief_id);
      }])->get()->keyBy('name');

Моя модель:

 public function brieftype(): \Illuminate\Database\Eloquent\Relations\HasMany
    {
        return $this->hasMany('App\Models\BriefType', 'key', 'name');
    }

Я хочу ответить вот так:

[Blabla] => {
  'title' => 'my title',
  'name' => 'my name'
  'brieftype' => ['name1', 'name2', 'name3', 'name4']
}

Ответы [ 2 ]

1 голос
/ 28 мая 2020

Сделай это. Он вернет коллекцию с кратким типом

$types = $types->map(function ($type) {
                $type->brieftype = $type->brieftype->pluck('name');
                return $type;
            });

dd($types);
1 голос
/ 28 мая 2020

Попробуйте.

$types = $types->map(function ($type) {
    $type->brieftype = $type->brieftype->pluck('name')->toArray();
    return $type;
})->toArray();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...