×

thinkphpjoin别名

thinkphpjoin别名(thinkphp ide)

admin admin 发表于2023-04-01 12:47:09 浏览46 评论0

抢沙发发表评论

本文目录一览:

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 字段  字段的别名。这样的对应关系。) 

   );

    

}