2013-03-04 40 views
0

是否可以在Yii中以编程方式将参数传递给搜索方法? 我有表格Team and Workers和我创建的add workers to the team功能。我想显示CGridView搜索哪些将显示除分配给实际编辑团队的所有工作人员。如何实现它?以编程方式传递常量'NOT LIKE'参数

+0

您需要向我们展示一些代码! – darkheir 2013-03-04 16:19:14

+0

发布了一些相关代码 – dInGd0nG 2013-03-04 16:19:20

回答

0

通常GridView控件调用模型的search()方法,你可以很容易地修改此方法来添加,如可选的参数:

public function search($notLike = false){ 
    if($notLike) { 
     //add the new sql condition not like 
    } 
} 
+0

是的,我甚至可以声明CDbCriteria作为参数并传递它,但是如何在CGridView中使用它?它会一直工作,直到您更改gridview中的一个填充项 - 之后它完全忽略了该值。 – Joe 2013-06-05 09:36:32

0

只需使用

$criteria->addSearchCondition($column, $keyword, $escape, 'AND', $like) 

例如

$criteria->addSearchCondition('CustomerName', 'Jo', false, 'AND', 'NOT LIKE') 
// Column 'CustomerName' 
// Value to look for 'Jo' 
// escape value? false 
// append to query using 'AND' 
// Compare using Not Like 
//  This should generate: "... AND CustomerName LIKE 'Jo'" 

结帐CDbCriteria->addSearchCondition()

相关问题