Можно ли проверить значения, которые передает запрос 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 ?
Всех заранее благодарю.
Для отображения параметров в запросе используйте в конфиге параметр 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
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости