Запрос INSERT в YII

194
15 декабря 2016, 15:45

Можно ли проверить значения, которые передает запрос INSERT в YII? Дело в том, что при добавлении записи вылетает след. ошибка:

CDbCommand не удалось исполнить SQL-запрос: SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (eshop.tbl_goods, CONSTRAINT fkGoodsCategory FOREIGN KEY (category) REFERENCES tbl_category (title) ON UPDATE CASCADE). The SQL statement executed was: INSERT INTO tbl_goods (title, category, quo, price, description, status) VALUES (:yp0, :yp1, :yp2, :yp3, :yp4, :yp5)

Такая ошибка выходит когда вводишь значение внешнего ключа, которое отсутствует в справочнике. Я полагаю что yii передает не правильное значение из-за не правльной кодировки в каком-то файле. С командной строки все работает нормально. Поэтому мой вопрос: Можно ли проверить значения, которые передает запрос INSERT ?

Всех заранее благодарю.

Answer 1

Для отображения параметров в запросе используйте в конфиге параметр enableParamLogging со значением true

'db'=>array(
        'connectionString' => 'mysql:host=localhost;dbname=dbname',
        'emulatePrepare' => true,
        'username' => 'user',
        'password' => 'pass',
        'enableProfiling' => true,
        'enableParamLogging' => true,
    ),

В результате запросы отображаются следующим образом

SELECT * FROM `items` `t` WHERE cid = :cid AND status = :status AND iid != :iid ORDER BY RAND() LIMIT :limit. Bound with :cid='5', :status='on', :iid='1', :limit=3
READ ALSO
MySQL соответствие поля шаблону

MySQL соответствие поля шаблону

Доброго времени сутокПочему не получается сделать соответствие поля регулярному выражению- ни одна документация не запрещает это (вроде...

177
Mysql_fetch_row() проблема [дубликат]

Mysql_fetch_row() проблема [дубликат]

На данный вопрос уже ответили:

145
Mysql выбрать данные из одной таблицы и количество записей из другой одним запросом

Mysql выбрать данные из одной таблицы и количество записей из другой одним запросом

Привет всемМне нужно вывести из бд список городов, а рядом количество зарегистрированных пользователей из каждого города

188
Count(*) работает не так

Count(*) работает не так

После того, как поставил в запрос COUNT(*) as count, началась выводиться только 1 запись, хотя $data['count'] показывает, что их 3Если же убрать COUNT(*) as count,...

153