Странности. Не приходит id при create

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
FOMINTIMUR
Сообщения: 103
Зарегистрирован: 2014.01.05, 21:08

Странности. Не приходит id при create

Сообщение FOMINTIMUR »

Делал подгрузку категории в CRUD товарах с помощью XMLHttpRequest. Еще перезаливалась БД с новыми параметрами. В итоге Изображение


При создании товара перестал передаваться id. Куда копать? На локалхосте работает.
FOMINTIMUR
Сообщения: 103
Зарегистрирован: 2014.01.05, 21:08

Re: Странности. Не приходит id при create

Сообщение FOMINTIMUR »

Из-за этого возникает ошибка

Код: Выделить всё

Integrity constraint violation – yii\db\IntegrityException

SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '0' for key 'PRIMARY'
The SQL being executed was: INSERT INTO `tovar` (`name`, `collection_name`, `category_name`, `text`, `keywords`, `description`, `price`, `manufacturer`, `height`, `width`, `depth`, `material`, `color`, `style`, `photo`) VALUES ('123', 'Все товары без коллекции', '', '', '', '', 123, 'Не указан', NULL, NULL, NULL, 'Не указан', 'Беленый дуб', 'Не указан', '/home/f/fh7921m6/kupec-mebel.ru/public_html/frontend/uploads/4128.jpg')
Error Info: Array
(
    [0] => 23000
    [1] => 1062
    [2] => Duplicate entry '0' for key 'PRIMARY'
)
↵
Caused by: PDOException

SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '0' for key 'PRIMARY'

in /home/f/fh7921m6/kupec-mebel.ru/public_html/vendor/yiisoft/yii2/db/Command.php at line 768
rak
Сообщения: 2181
Зарегистрирован: 2010.11.02, 23:40
Контактная информация:

Re: Странности. Не приходит id при create

Сообщение rak »

где эта ссылка генерируется? в урл то действительно нету параметра id
FOMINTIMUR
Сообщения: 103
Зарегистрирован: 2014.01.05, 21:08

Re: Странности. Не приходит id при create

Сообщение FOMINTIMUR »

rak писал(а):где эта ссылка генерируется? в урл то действительно нету параметра id
В общем там не хватало то ли индекса, то ли автоинкремента у столбца таблицы.

Код: Выделить всё

 public function actionCreate()
    {
        $model = new Tovar();

         if ($model->load(Yii::$app->request->post()) && $model->save()) {
            return $this->redirect(['file', 'id' => $model->id]);
        } else {
            return $this->render('create', [
                'model' => $model,
            ]);
        }
    } 
Этот УРЛ тут генерировался. Я всю голову сломал. Даже 2 раза возвращался в предыдущим версиям своего говнокодинга, а дело оказалось в стректуре БД.
Спасибо за желание помочь!) Удачи Вам)
Onotole
Сообщения: 1808
Зарегистрирован: 2012.12.24, 12:49

Re: Странности. Не приходит id при create

Сообщение Onotole »

Может по тому, что

Код: Выделить всё

Duplicate entry '0' for key 'PRIMARY' 
Ответить