两种不同的搜索功能

时间:2013-09-13 17:37:34

标签: yii

我有两个搜索功能。一个用于公共,一个用于管理搜索。它们完全一样:

public function search()
{
        // @todo Please modify the following code to remove attributes that should not be searched.

        $criteria=new CDbCriteria;

        //$criteria->compare('ID',$this->ID);
        $criteria->compare('t.IDkorisnik',Yii::app()->user->getId());
        $criteria->compare('start_time',$this->start_time,true);
        $criteria->compare('end_time',$this->end_time,true);
        //$criteria->compare('information',$this->information,true);
        $criteria->compare('country',$this->country,true);
        $criteria->compare('city',$this->city,true);
        $criteria->compare('start_price',$this->start_price);
        $criteria->compare('min_bid',$this->min_bid);
        $criteria->compare('valuta',$this->valuta,true);
        $criteria->compare('title',$this->title,true);

        $criteria->with=array('relationIDuzgajivac','relationIDgolub');
        $criteria->compare('username',$this->uzgajivacSearch);
        $criteria->compare('brojgoluba',$this->golub_search, true);

        return new CActiveDataProvider($this, array(
                'criteria'=>$criteria,
                'pagination'=>array('pageSize'=>50),
        ));
}

除了搜索()我有这个

$criteria->compare('t.IDkorisnik',Yii::app()->user->getId());

在publichsearch()中我没有。

您可能会看到有关系搜索。当我打开管理页面它在公共搜索页面工作时它不起作用,我不知道为什么

1 个答案:

答案 0 :(得分:0)

我在创建新动作时从未意识到

public function actionPublicSearch()
{

    $model=new Auction('search');
    $model->unsetAttributes();  // clear any default values
    if(isset($_GET['Auction']))
        $model->attributes=$_GET['Auction'];

    $this->render('publicsearch',array(
        'model'=>$model,
    ));
}

模型中的$model=new Auction('search');始终必须“搜索”而不是“public_search”

然后在视图中创建CGridView

<?php $this->widget('zii.widgets.grid.CGridView', array(
    'id'=>'auction-grid',
    'dataProvider'=>$model->public_search(),

dataProvider是我放置搜索功能的地方,在本例中为public_search