Я хочу выполнить функцию поиска для моего проекта yii. Я узнал в yii, что это функция, называемая addSearchCondition()
, затем я попытался выполнить функцию поиска.
public function actionSearchApp(){
$searchapp = $_POST['searchapp'];
$id = Yii::app()->user->getState('id');
$models = GamesDevelopersApp::model()->findAll('developer_id='.$id);
array('models'=>$models);
foreach($models as $model){
$gametitle = CHtml::encode($model->gametitle);
}
$search = new CDbCriteria();
$search->addSearchCondition($gametitle.'LIKE:'.$searchapp);
$result = GamesDevelopersApp::model()->findAll($search);
print_r($result);
}
Сообщение об ошибке: Отсутствует аргумент 2 для CDbCriteria :: addSearchCondition()
Любое предложение для выполнения SQL Как в Yii? или любой хороший пример для выполнения функции поиска в yii
ОБНОВЛЕНО
public function actionSearchApp(){
$searchapp = $_POST['searchapp'];
$id = Yii::app()->user->getState('id');
$models = GamesDevelopersApp::model()->findAll('developer_id='.$id);
$search = new CDbCriteria();
$search->addSearchCondition('gametitle', $searchapp);
$result = GamesDevelopersApp::model()->findAll($search);
print_r($result);
}
Да, он искал, но теперь он ищет все данные из gametitle, как это сделать "где developer_id =" id "?
вы почти это сделали. Вот правильный код:
$search = new CDbCriteria();
$search->addSearchCondition($gametitle, $searchapp); //this add the condition and escapes it properly
$result = GamesDevelopersApp::model()->findAll($search); //here you pass the criteria
print_r($result)
;
Ответ Сэмюэля Лива совершенно неверен и инъективен SQL.
Я успешно выполнил код и вывод, который мне нужен:
Еще нужно поблагодарить предложение Никола
public function actionSearchApp(){
$searchapp = $_POST['searchapp'];
$id = Yii::app()->user->getState('id');
$models = GamesDevelopersApp::model()->findAll('developer_id='.$id);
$search = new CDbCriteria();
$search->addSearchCondition('gametitle', $searchapp);
$search->addCondition('developer_id='.$id);
$result = GamesDevelopersApp::model()->findAll($search,array('developer_id'=>$id));
print_r($result);
}
используйте addCondition() для того, where developer_id='id'
Thanks =)
CDbCommand failed to execute the SQL statement: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'GG' in 'where clause'. The SQL statement executed was: SELECT * FROM
games_developers_app`t
WHERE GG LIKE: ycp0 `для перехода из моей последней строкиGG
в LIKE