本文目录一览:
- 1、ThinkPHP中,关联查询,怎么定义别名?
- 2、thinkPHP中数据库两张表联合查询,有相同字段,但是里面内容不同,现在想要输出其中一个,该怎么做
- 3、thinkphp关联模型怎样设置字段别名
ThinkPHP中,关联查询,怎么定义别名?
比如你有两个表 pre_first pre_second 并且你数据库配置文件已经配置了表前缀那么你可以这么写
$First=new \Think\Model("First");
//联表查询条件
$arrJoin=array(
"__SECOND__ as s on f.id=s.id ",
);
$list=$First-alias('f')-join($arrJoin,'LEFT')-select();
thinkPHP中数据库两张表联合查询,有相同字段,但是里面内容不同,现在想要输出其中一个,该怎么做
用别名 , 比如 a表 有 c字段, b表也有 c字段, field('a.c as xx'), field('b.c as oo'), 至于具体join()方法你自己写吧, 方法就是用别名, 或者加上表名,这样就不会产生歧义-thinkphpjoin别名
thinkphp关联模型怎样设置字段别名
thinkphp的关联模型,就是简化你的jion操作。所以,本质上,关联模型,就是处理表连接关系的。归根结底的,就是让你在用模型操作的时候,简化SQL查询的join操作。(是简化操作,而不是改变SQL语句。)-thinkphpjoin别名
先举个例子。一个用户表,一个文章表。一个用户对应多篇文章。然后,你现在会经常出现如下需求:取得某人的文章记录,但是呢,只要求显示,用户名,文章名,文章ID,文章日期(其他的,比如,什么用户邮箱啊,用户密码啊,文章类型啊,文章修改日期啊,文章标签啊,你都不需要)这个时候,你就可以定义一个试图模型,然后在 $viewFields 里面,就可以把你经常使用需要调用的那个几个字段,按照thinkphp的规定,定义进去。-thinkphpjoin别名
如下参考
class ArticleViewModel extends ViewModel {
public $viewFields = array(
'Article'=array('name','title'....其他字段),
'Author'=array('title'='category_name', '_on'='article.auid=author.id'),
'Article_class'=array(字段定义如上,具体规则,下面有介绍, '_on'=上面已经给你写了一个,这里其实就是写,article,和article_class 的主外键,对应关系。即JOIN ....ON..语句,ON部分的多内容),-thinkphpjoin别名
'article_type'=array('field_realename'='field_alias'。这里就相当于查询语句SELECT 字段 字段的别名。这样的对应关系。)
);
}