Использование массива идентификаторов и таблицы соединений Laravel Eloquent - PullRequest
1 голос
/ 30 апреля 2020

Я создаю Laravel Приложение с Eloquent, подключенным к MySQL СУБД, где у меня есть три модели:

  • Product
  • ProductGallery
  • Файл

У меня также есть следующие отношения

  • Один Продукт имеет один ProductGallery
  • Один ProductGallery имеет много Файл

Мой вопрос: все ли в порядке, если я храню изображения в ProductGallery в виде массива file_ids вместо создания таблицы соединений или наличия gallery_id в File model?

    public function setImagesAttribute($images)
    {
        $this->attributes['images'] = serialize($images);
    }

    public function getImagesAttribute()
    {
        if (empty($this->attributes['images']) || is_null($this->attributes['images'])) return [];

        return unserialize($this->attributes['images']);
    }

Я задаю этот вопрос, чтобы узнать, у этого метода есть побочные эффекты, и в будущем могут появиться другие модели, связанные с моделью File (в категории может быть файл изображения и т. д.).

1 Ответ

1 голос
/ 30 апреля 2020

По моему мнению, Better Option создает сводную таблицу. Потому что, когда вам нужно присоединиться, вы извлекаете массив и выполняете запрос в al oop, что плохо ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...