Yii框架 多表查询实例
2015-07-22 11:04
507 查看
Yii框架多表查询实例:总共分为两个步骤(以下的代码我全部都写在model中):1、先在主表model中声明关联表中所需要查询的字段。
public $surveyls_description; //专题下相关问卷的描述
public $answer; //专题问卷的答案选项
2、编写正确的关联语句。
/**
* 根据专题id获取父专题的信息(包括问卷)
*/
public function getParentTopic($tid){
if($tid){
$c = new CDbCriteria();
$c->addCondition('tid='.$tid);
$c->join='left join lime_surveys_extension as se on t.tid=se.topic_id ';
$c->join.='left join lime_surveys_languagesettings as sl on se.sid=sl.surveyls_survey_id ';
$c->join.= 'left join lime_questions as q on se.sid = q.sid ';
$c->join.= 'left join lime_answers as a on q.qid=a.qid';
$c->select='t.tid,t.topic_title,sl.surveyls_description,a.answer';
$model = self::model()->findAll($c);
return $model;
}
}
public $surveyls_description; //专题下相关问卷的描述
public $answer; //专题问卷的答案选项
2、编写正确的关联语句。
/**
* 根据专题id获取父专题的信息(包括问卷)
*/
public function getParentTopic($tid){
if($tid){
$c = new CDbCriteria();
$c->addCondition('tid='.$tid);
$c->join='left join lime_surveys_extension as se on t.tid=se.topic_id ';
$c->join.='left join lime_surveys_languagesettings as sl on se.sid=sl.surveyls_survey_id ';
$c->join.= 'left join lime_questions as q on se.sid = q.sid ';
$c->join.= 'left join lime_answers as a on q.qid=a.qid';
$c->select='t.tid,t.topic_title,sl.surveyls_description,a.answer';
$model = self::model()->findAll($c);
return $model;
}
}
相关文章推荐
- php 数组排序
- php基础
- Windows 7中无法访问FTP的解决方法
- ThinkPHP验证码类
- PHP运行模式
- ThinkPHP验证码刷新随机数
- ZendFramework2学习笔记 json和ajax
- 项目开发经常使用PHP功能
- php基础
- js验证和PHP验证用户输入的区别
- php中mysql语句中如果有变量,该如何连接字符串
- PHP 获取文件上传进度
- iis 7安装 php 5.6.11+mysql
- iis 7 +php验证码不显示的问题
- php多文本框提交
- php实现短信发送代码
- PHP 实现商品的无限规格实现思路
- 分析和解析PHP代码的7大工具
- 使用PHP编写发红包程序
- php接口数据加密、解密、验证签名