dapeng 2012-09-09 14:15:00 3344次浏览 7条回复 0 0 0
public function search()
{
    $criteria=new CDbCriteria;
    $criteria->compare('id',$this->id);
    $criteria->compare('department',$this->department);
    $criteria->compare('company',$this->company);
}

这是gii自己生成的search方法 我想改变搜索添加 网上找了许多方法 可是小弟有一个基本问题没解决 求高手指点? 我想利用_search页面传过来的值 我想应该是this->company 但是 echo $this->company 我看不到结果 求解 怎么获得 我需要传过来的值

  • 回复于 2012-09-09 14:32 举报

    在attributeLabels方法里加上你想要添加的属性(company)。

  • 回复于 2012-09-09 14:42 举报

    你好像没明白我的意思 我的意思是说 search页面里面传的搜索值 我不知道 怎么在public function search(){}里面接受

  • 回复于 2012-09-09 14:58 举报
    /**
    * 返回 posts列表数据基于当前 search/filter 条件.
    * @通过CActiveDataProvider 返回需要的posts数据.
    */
    public function search()
    {
    	$criteria=new CDbCriteria;
    
    	$criteria->compare('title',$this->title,true);
    
    	$criteria->compare('status',$this->status);
    
    	return new CActiveDataProvider('Post', array(
    		'criteria'=>$criteria,
    		'sort'=>array(
    			'defaultOrder'=>'status, update_time DESC',
    		),
    	));
    }
    

    这样写试试。

  • 回复于 2012-09-09 15:27 举报

    我的思路和方法都写好了 就差一步
    我想问的问题就是

    $this->company 是传过来的变量么
    加入说我在search页面 输入框里面 我写“百度”
    那么 search方法里面 怎么得到百度 我就是这个意思啊

  • 回复于 2012-09-09 15:36 举报

    $this->company 是传过来的变量。你可以echo一下。

  • 回复于 2012-09-09 15:41 举报

    就是这样不行....

  • 回复于 2012-09-09 16:54 举报

    在方法rules和attributeLabels里,都加上company的相应配置。

您需要登录后才可以回复。登录 | 立即注册