L5.6 - Получить все поля из сводной таблицы - PullRequest
0 голосов
/ 17 мая 2018

Есть ли способ получить все поля в таблице pivot вместо указания по одному?

Например (начиная с руководства здесь ):

магазины :

  • id
  • имя

продукты :

  • id
  • имя

product_shop :

  • product_id
  • shop_id
  • field_1
  • field_2
  • field_3
  • ecc ...

Я не хочу указывать каждое отдельное поле:

public function products() {
   return $this->belongsToMany('App\Product')
        ->withPivot('field_1', 'field_2', 'field_3', 'ecc..' );
}

но я бы вернул все доступные поля в таблице;что-то вроде ->withPivot('*');

Есть ли способ?

Спасибо.

1 Ответ

0 голосов
/ 19 мая 2018

Нет способа сделать это, потому что это будет довольно сложно.

Чтобы предотвратить столкновения, Laravel должен добавить псевдонимы для столбцов сводки:

`product_shop`.`field_1` as `pivot_field_1`, ...

Так что Laravel потребуетсясписок всех столбцов в сводной таблице.Единственный способ получить этот список - это отдельный запрос к information_schema.columns.

...