yii 常用的多表查询
2024-10-19 03:37:15
return $this->model()->getDbConnection()->createCommand()
->select("t.type,t.title,t.class_id,t.thumb,t.hours,t.real_price,t.price,c.name,p.cert_id")
->leftjoin(ClassroomClass::model()->tableName() .' c'," t.class_id = c.id")
->leftjoin(ClassroomProductCert::model()->tableName() .' p'," t.id = p.product_id")
->from($this->tableName() .' t')
->where("t.id = $course_id")
->queryRow();
第二种:
$criteria =newCDbCriteria; $criteria->addCondition("id=1"); //查询条件,即where id =1
$criteria->addInCondition('id', array(1,2,3,4,5));//代表where id IN (1,23,,4,5,);
$criteria->addNotInCondition('id',array(1,2,3,4,5));//与上面正好相法,是NOT IN
$criteria->addCondition('id=1','OR');//这是OR条件,多个条件的时候,该条件是OR而非AND
$criteria->addSearchCondition('name','分类');//搜索条件,其实代表了。。where name like '%分类%'
$criteria->addBetweenCondition('id', 1, 4);//between1 and 4 $criteria->compare('id',1); //这个方法比较特殊,他会根据你的参数自动处理成addCondition或者addInCondition,
//即如果第二个参数是数组就会调用addInCondition $criteria->addCondition("id = :id");
$criteria->params[':id']=1; $criteria->select = 'id,parentid,name';//代表了要查询的字段,默认select='*';
$criteria->join = 'xxx'; //连接表
$criteria->with = 'xxx';//调用relations
$criteria->limit =10; //取1条数据,如果小于0,则不作处理
$criteria->offset =1; //两条合并起来,则表示 limit 10 offset1,或者代表了。limit 1,10
$criteria->order = 'xxx DESC,XXX ASC' ;//排序条件
$criteria->group = 'group 条件';
$criteria->having = 'having 条件 ';
$criteria->distinct = FALSE;//是否唯一查询
最新文章
- 项目管理工具~Jira
- c++ 模板元编程的一点体会
- 《GK101任意波形发生器》任意波文件格式说明
- VLC说明
- dd面试经历
- 【HDOJ】3901 Wildcard
- php 获取301 302的真实地址
- 53-java中的queue
- 数据合并处理concat
- 课外知识----ini
- thinkphp5.0 - Redis 实现秒杀
- [视频]K8飞刀 exploit管理功能 演示教程
- java的排序类 Collections
- zoj3299 线段树区间更新,坐标建立线段树的方式
- 11.1 正睿停课训练 Day14
- [algorithm] Dijkstra双栈算法表达式求值算法
- Asp.Net WebApi开启Session回话
- 我上线的android版app
- SQL的鸡肋:“视图”
- lua返回服务器信息