原文:ThinkPHP 关联模型(二十)

ThinkPHP关联模型

两表关联查询:Message
和  user  关联条件uid(参考手册:模型->关联模型)

步骤:

一:创建Message表自定义的Mode  --->Home\Lib\Model\MessageModel.class.php

<?php

class MessageModel extends RelationModel{

//这是自动填充

protected $_auto=array(

array('time','time',1,'function'),

array('uid','getId',1,'callback')


);

//这是关联模型配置

protected $_link=array( 

'User'=> array(  

'mapping_type'=>BELONGS_TO,

'class_name'=>'User',

'foreign_key'=>'uid', //外键

'mapping_name'=>'user',

'mapping_fields'=>'username', //只取username字段

'as_fields'=>'username:uname',  //和当前表字段平级显示

//要是怕2个表字段有冲突用username:uname 就会显示成uname

),

);

protected function getId(){

return $_SESSION['id'];

}

}

?>

二:控制器

<?php

$message = D('Message');

$arr=$message->relation(true)->select();

dump($arr);

$this->assagin('list',$arr);

$this->display();

?>

ThinkPHP 关联模型(二十)的更多相关文章

  1. ThinkPHP关联模型详解

    在ThinkPHP中,关联模型更类似一种mysql中的外键约束,但是外键约束更加安全,缺点却是在写sql语句的时候不方便,ThinkPHP很好得解决了这个问题.但是很多人不动关联模型的意思.现在就写个 ...

  2. ThinkPHP关联模型如何关联非主键

    ThinkPHP关联模型默认是主键外键关联 官方并没有提供相关文档 如何实现非主键与非主键间之间的关联 <?php namespace Admin\Model; use Think\Model\ ...

  3. thinkphp 关联模型配置代码

    <?php /** * 公司与部门关联模型 */ class CompanyRelationModel extends RelationModel{ //主表名称 protected $tabl ...

  4. ThinkPHP 关联模型中查询某条记录的父级(非查询子级)

    数据表 id      cat_name      cat_pid 76     手机.数码     0 84     手机配件        76 86     蓝牙耳机        84 从属关 ...

  5. ThinkPHP - 关联模型 - 多对多

    表结构: 映射关系: UserRelationModel会取UserRelation为表名称.所以要自定义表名称: //定义主表名称protected $tableName = 'User'; < ...

  6. Thinkphp 关联模型和试图模型区别

    关联模型主要在多表操作时使用,比如 user表,user_role表,role表 user_role字段:uid,rid,它作为中间表,负责将user和role之间的,1对1,1对多,多对多的关系进行 ...

  7. Thinkphp 关联模型

    1.定义关联模型 2.使用关联模型 D('BlogRelation')->relation(true)->add($data);

  8. Thinkphp关联模型使用

    1.需求描述 首页文章列表,需要同时获取文章的点赞和被关注数,同时如果被当前用户点赞或关注了会显示相应小图标进行区别.图示如下: 2.解决方案 数据库设计: 文章对应Article表,其中包括收藏数字 ...

  9. ThinkPHP - 关联模型 - 一对多

    使用之前,先引入文件夹,否则相应的功能不能实现. 如果对thinkPHP不精通,使用或开发的时候,最好直接使用完成版本的ThinkPHP. 关系模型定义: <?php /** * 继承自 Rel ...

随机推荐

  1. 只启动一个zookeeper配置 server1只需要配置一个

    [root@wx03 conf]# cat zoo.cfg # The number of milliseconds of each tick tickTime=2000 # The number o ...

  2. Java__jar包的简单操作

    工作需要研究了下jar,这里就举个简单的例子,以helloworld为例吧 1.启动eclipse编写代码: 次步不做赘述 package cn.test.jar; public class Hell ...

  3. BZOJ 1112: [POI2008]砖块Klo1112( BST )

    枚举每个长度为k的区间, 然后用平衡树找中位数进行判断, 时间复杂度O(nlogn). 早上起来精神状态不太好...连平衡树都不太会写了...果断去看了会儿番然后就A了哈哈哈 ------------ ...

  4. 类作为返回类型 ,具有java特点-封装等 而且应用起来很方便。

    public class StudentDao { public Student getStudent(){ Student stu = new Student(); stu.setName(&quo ...

  5. 基于visual Studio2013解决C语言竞赛题之1037数组求列和

          题目 解决代码及点评 /* 功能:已知有三个数组A,B,C,A为5行5列的二维数组,B.C为只有5个元素的一维数组,键盘输入数据的顺序如下: 23,45,6,1,- ...

  6. Netty IO线程模型学习总结

    Netty框架的 主要线程是IO线程.线程模型的好坏直接决定了系统的吞吐量.并发性和安全性. Netty的线程模型遵循了Reactor的基础线程模型.以下我们先一起看下该模型 Reactor线程模型 ...

  7. SQL Server Join方式

    原文:SQL Server Join方式 0.参考文献 Microsoft SQL Server企业级平台管理实践 看懂SqlServer查询计划 1.测试数据准备 参考:Sql Server中的表访 ...

  8. js正则验证手机号码有效性

    验证130-139,150-159,180-189号码段的手机号码 <script type="text/javascript"> [-]{})|([-]{})|([- ...

  9. linxu select 返回值

    #include <sys/types.h>#include <sys/socket.h>#include <string.h>#include <netin ...

  10. 发现CSDN的一个小Bug,CSDN网站管理人员进来看看哈~~

    CSDN发博文的时候,说转载和翻译的博文不能被推荐到CSDN首页 刚刚我转了一个好的文章,一开始确实“发布到CSDN博客首页”的选项没了,但是之后我发现这个文章我要做点修改,就点击了编辑 之后这个选项 ...