Как Yii SQL Нравится

0

Я хочу выполнить функцию поиска для моего проекта 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 "?

Теги:
yii

2 ответа

2
Лучший ответ

вы почти это сделали. Вот правильный код:

 $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.

  • 0
    не работает ... 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
  • 0
    любое другое предложение? Спасибо
Показать ещё 4 комментария
0

Я успешно выполнил код и вывод, который мне нужен:

Еще нужно поблагодарить предложение Никола

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 =)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню