Yii关联表字段查询
Yii的activeRecord model里有一个search方法,可以用来搜索 数据,但是今天在搜索时,发现会用关联表的字段来搜索数据,查找资料,找到了解决方法
比如article表与user表有关联,需要在本表中用user.nickname字段来搜索数据
//在model里先定义一个搜索字段
public $nickname_search;
//定义关联规则
public function relation(){
return array(
"users" => array(
self::BELONGS_TO,
"User",
"user_id"
)
);
}//定义搜索方法
public function search(){
$criteria = new CDbCriteria;
$criteria->with = array( "users" );
$criteria->compare( "users.nickname", $this->nickname_search, true );
return new CActiveDataProvider($this, array(
"criteria" => $criteria
));
}//在actionIndex里可以如此使用搜索
public function actionIndex(){
$model=Article::model();
if(isset($_GET["nickname"]){
$modle->nickname_search=$_GET["nickname"];
$dataProvider=$model->search();
}else{
$dataProvider=new CActiveDataProvider($model->with("users"));
}
$this->render("index",array(
"dataProvider"=>$dataProvider,
));
}声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
- 上一篇: PHPFPM下开启状态检测页面
- 下一篇: 解决 PHPExcel 长数字串显示为科学计数
