2016-04-17 1 views
-1

Je table de base de données 'cat_ralation'Yii2 champ mise à jour Erreur colonne inconnue avec le constructeur de requête

CREATE TABLE IF NOT EXISTS `cat_relation` (
`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT, 
`cat_id` int(11) NOT NULL, 
`obj_id` int(11) NOT NULL, 
`obj_type` varchar(20) NOT NULL 
) ENGINE=InnoDB DEFAULT CHARSET=utf8; 

de données d'insertion

id = 1, 
cat_id = 2, 
obj_id = 3, 
obj_type = product 

constructeur Qyery

Yii::$app->db 
    ->createCommand() 
    ->update('cat_relation',['cat_id'=>3], 'obj_id = 3 AND obj_type = product') 
    ->execute(); 

erreur

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'product' in 'where clause' 
The SQL being executed was: UPDATE `cat_relation` SET `cat_id`=2 WHERE obj_id = 4 AND obj_type = product 
+0

Je ne sais pas rien PyYAML mais ne devrait pas vous citer 'Product' entre guillemets comme' "produit" 'ou' \ 'produit \ ''? –

+0

Où est la relation avec PyYAML? Je ne vois aucun YAML dans vos exemples. Quelle est votre vraie question? – Anthon

+0

semble que votre projet est en yii2 – Midhun

Répondre

0

faire comme

Yii::$app->db 
    ->createCommand() 
    ->update('cat_relation',['cat_id'=>3], "obj_id = 3 AND obj_type = 'product'") 
    ->execute();