Вопрос относительно связанных таблиц

92
14 мая 2021, 10:40

Вообщем у меня появилась... скажем так "необычная задача" вообщем есть таблица магазин, и у этой таблице через таблицу связей подключаются услуги, но проблема в том, что у некоторых услуг должно быть количество, и честно говоря я бы его запихнул в таблицу связей, т.к это будет проще для меня, но правильно ли это, со стороны нормализации или всё же для количества придется создавать еще одну таблицу. Привожу sql код из миграций для более подробного представления таблиц. Таблица магазин:

$this->createTable('{{%shops}}', [
        'id' => Schema::TYPE_PK,
        'created_at' => Schema::TYPE_INTEGER . '(11) NOT NULL',
        'updated_at' => Schema::TYPE_INTEGER . '(11) NOT NULL',
        'address' => Schema::TYPE_STRING . ' NOT NULL COMMENT "Адрес магазина"',
        'tariff_id' => Schema::TYPE_INTEGER . ' NOT NULL COMMENT "Привязка к тарифу"',
        'user_id' => Schema::TYPE_INTEGER . ' NOT NULL COMMENT "Привязка к бренду"',
    ]);
$this->addForeignKey('shopsUserId', '{{%shops}}', 'user_id', '{{%user}}',
        'id', 'CASCADE');
$this->addForeignKey('shopsTariffId', '{{%shops}}', 'tariff_id', '{{%tariff}}',
        'id');

Таблица связей (как она сейчас):

$this->createTable('{{%shops_addition}}', [
        'shop_id' => $this->integer(),
        'addition_id' => $this->integer(),
        'PRIMARY KEY(shop_id, addition_id)',
    ]);
$this->createIndex(
        '{{%idx-shops_addition-shop_id}}',
        '{{%shops_addition}}',
        'shop_id'
    );
$this->addForeignKey(
        '{{%fk-shops_addition-shop_id}}',
        '{{%shops_addition}}',
        'shop_id',
        '{{%shops}}',
        'id',
        'CASCADE'
    );
$this->createIndex(
        '{{%idx-shops_addition-addition_id}}',
        '{{%shops_addition}}',
        'addition_id'
    );
$this->addForeignKey(
        '{{%fk-shops_addition-addition_id}}',
        '{{%shops_addition}}',
        'addition_id',
        '{{%addition}}',
        'id',
        'CASCADE'
    );

И сама таблица услуг:

$this->createTable('{{%addition}}', [
        'id' => Schema::TYPE_PK,
        'created_at' => Schema::TYPE_INTEGER . '(11) NOT NULL',
        'updated_at' => Schema::TYPE_INTEGER . '(11) NOT NULL',
        'name' => Schema::TYPE_STRING . ' NOT NULL COMMENT "Название"',
        'cost' => Schema::TYPE_DECIMAL . '(12,2) NOT NULL COMMENT "Стоимость"',
        'about' => Schema::TYPE_STRING . ' COMMENT "Описание"',
        'type' => Schema::TYPE_INTEGER . '(3) NOT NULL COMMENT "Тип"',
    ]);

Нужна ваша помощь.

READ ALSO
Отправка формы Opencart 3 через ajax

Отправка формы Opencart 3 через ajax

как вернуть сообщение пользователю(вывести в форме отправки), при отправке формы?

103
requestFeature() must be called before adding content

requestFeature() must be called before adding content

Программа выбрасывает исключение androidutil

146