में एक मानदंड के साथ एक CActiveDataProvider पुनर्प्राप्त करें मैं yii से शुरू कर रहा हूं और मुझे एक मानदंड के साथ एक CActiveDataProvider फ़िल्टर करने का प्रयास करते समय कुछ परेशानी है।yii
यह मेरा डेटाबेस मॉडल है:
Table Columns
Project [id, name, status]
userToProject [user_id,project_id,role]
User [id , ....]
और मैं सूचकांक कार्रवाई स्थिति = समाप्त या जहां उपयोगकर्ता वर्तमान में है कि परियोजना को सौंपा गया है के साथ सभी परियोजनाओं को दिखाना चाहते हैं।
इसलिए परीक्षण उद्देश्यों के लिए उपयोगकर्ता आईडी को हार्ड-कोडिंग करना। यह मेरा कोड है:
$criteria=array(
'order'=>'status desc',
'with'=>array(
'userToProject','userToProject.user'=>array('alias'=>'user')),
);
$criteria['condition']='status=='.Project::STATUS_FINISHED;
$criteria['condition'].=' OR user.id = 6';
$dataProvider=new CActiveDataProvider('Project', array(
'criteria'=>$criteria,
));
$this->render('index',array(
'dataProvider'=>$dataProvider,
));
लेकिन यह एक अपवाद अज्ञात स्तंभ कह फेंकता ' user.id। मैं क्या खो रहा हूँ? धन्यवाद
संपादित करें: त्रुटि कोड है:
Column not found: 1054
Unknown column 'users.user_id' in 'where clause'. The SQL statement executed was:
SELECT `t`.`id` AS `t0_c0`, `t`.`name` AS `t0_c1`, `t`.`description` AS `t0_c2`,
`t`.`status` AS `t0_c3`, `t`.`creation_date` AS `t0_c4` FROM `pgp_project` `t` WHERE
(status=4 OR users.user_id=6) ORDER BY status desc LIMIT 10
SQL क्वेरी है कि यह चलाता है सहित पूर्ण त्रुटि संदेश, प्रदान की कोशिश करो। – DCoder
हाँ सटीक एसक्यूएल और त्रुटि संदेश की आवश्यकता होगी –
मेरे पास टेबल में कोई ट्रिगर नहीं है। मैं फिर से त्रुटि की जांच करने जा रहा हूं – Addev