Thinkphp5 关联模型
必须建立两个模型分类模型(attr)、文章模型(article)
attr模型
<?php
namespace app\common\model;
use think\Model; class Attr extends Model{ }
article模型
<?php
namespace app\common\model;
use think\Model; class Article extends Model{ }
hasOne(一对一关联)
关联查询
<?php
namespace app\common\model;
use think\Model; class Attr extends Model{
// 关联文章模型
public function article()
{
//return $this->hasOne('article','pid','id','','INNER');
return $this->hasOne('article','pid');
} public function s(){
$id = 19;
$attr = $this->get($id);
// 查询单条
//$res = $attr->article()->find();
// 查询多条
$r = $attr->article; // 打印出来数据(article+attr内容)
$rr = $attr->article->parent->data; // 打印attr内容
$rrr = $attr->article->data; // 打印出来article内容; $r = $this->toCollection($rrr);
return $r; } }
查询出来的是article内容(只有一条数据)。比如:一个用户,只有一份身份信息
关联保存
hasMany(一对多关联)
<?php
namespace app\common\model;
use think\Model; class Attr extends Model{
// 关联文章模型
public function article()
{
return $this->hasMany('article','pid','id');
//return $this->hasOne('article','pid');
}
// 可用
public function s(){
$id = 9;
$attr = $this->get($id);
// 查询单条
//$res = $attr->article()->find();
// 查询多条
$res = $attr->article()->select();
return $res; } }
控制器调用
<?php
namespace app\index\controller;
use think\Controller;
use think\Model;
class Index extends Controller
{
protected $model;
public function _initialize()
{
parent::_initialize(); // TODO: Change the autogenerated stub
$this->model = model('attr');
} public function index(){
$d = $this->model->s();
print_r($d);
} }
输出结果:只有article 内容(没有attr内容)。hasMany关联相当于Model('article')。一个用户可以看多本数
Thinkphp5 关联模型的更多相关文章
- thinkphp5 model 模型
新增更新都是save.saveAll 怎么识别他们 实例化模型后调用save方法表示新增: 查询数据后调用save方法表示更新: save方法传入更新条件后表示更新: isUpdate(true): ...
- ThinkPHP5中模型关联关系一对一,一对多
TP5 返回json反斜杠前面转义了class XinDai extends Controller{ public function index(){ $res = [ ['logo'=>'/i ...
- Thinkphp5.0 模型hasOne、hasMany、belongsTo详解
ThinkPHP5有关联模型的操作,但有部分初学者对数据表中常见的几种表与表的关系还存在着问题,所以使用不好关联查询. 这里将hasOne.hasMany.belongsTo进行一个详细举例说明. 首 ...
- ThinkPHP 3.2.3 关联模型的使用
关于关联模型 ThinkPHP 3.2.3 的关联模型(手册地址)一般处理关联数据表的 CURD 操作,例如关联读取.关联写入.关联删除等. 实例 博客管理模块关于博客有 4 张数据表:博客表 crm ...
- thinkphp 关联模型配置代码
<?php /** * 公司与部门关联模型 */ class CompanyRelationModel extends RelationModel{ //主表名称 protected $tabl ...
- ThinkPHP 学习笔记 ( 四 ) 数据库操作之关联模型 ( RelationMondel ) 和高级模型 ( AdvModel )
一.关联模型 ( RelationMondel ) 1.数据查询 ① HAS_ONE 查询 创建两张数据表评论表和文章表: tpk_comment , tpk_article .评论和文章的对应关系为 ...
- ThinkPHP 关联模型中查询某条记录的父级(非查询子级)
数据表 id cat_name cat_pid 76 手机.数码 0 84 手机配件 76 86 蓝牙耳机 84 从属关 ...
- ThinkPHP第十五天(setField、setInc、setDec、关联模型)
1.ThinkPHP中的比较特殊连贯操作 如果要更新某个字段可以用setField方法,比如M('user')->where('id=1')->setField('username','T ...
- ThinkPHP第十四天(显示TRACE界面配置,关联模型详解定义)
1.显示TRACE界面,首选需要在显示模版界面,$this->display(),然后需要在配置文件中配置 SHOW_PAGE_TRACE => true 2.关联模型使用 主表以user ...
随机推荐
- 关于redis与memcached区别(转载自stackoverflow)
转载自:http://stackoverflow.com/questions/10558465/memcached-vs-redis Updated 10/9/2014 Today marks the ...
- BZOJ1395 : [Baltic2005]Trip
建立新图,原图中每条边在新图中是点,新图中每个点的点权为$-e[i].c+e[i].b$,边权为$0$. 若$e[i].d\leq e[j].a$,则连一条$i$到$j$的单向边. 对于原图中每个点, ...
- E: Unable to locate package openjdk-8-jdk 及java version 切换
在unbuntu14.04系统上安装 Open JDK 8 时遇到了如下问题: $ -jdk Reading package lists... Done Building dependency tre ...
- register form
<code class="language-html"><div class="width100 marT15 content_news_list&qu ...
- C#如何测量字符串的高度宽度和精确取得字符串的高度宽度
C#如何测量字符串的高度宽度和精确取得字符串的高度宽度 因为MFC中CDC有GetTextExtent()可以获得字符串的高度宽度 像素单位,所以自然想到c#的GDI+的MeasureString,这 ...
- 奇怪吸引子---LiuChen
奇怪吸引子是混沌学的重要组成理论,用于演化过程的终极状态,具有如下特征:终极性.稳定性.吸引性.吸引子是一个数学概念,描写运动的收敛类型.它是指这样的一个集合,当时间趋于无穷大时,在任何一个有界集上出 ...
- Java access to the Domino Objects, Part 1
From: https://www.ibm.com/developerworks/lotus/library/ls-Java_access_pt1/index.html Overview Java a ...
- gcc 头文件依赖关系 分析工具
http://gernotklingler.com/blog/open-source-tools-examine-and-adjust-include-dependencies/
- excel随机函数
=D7+RAND()*(8000-4250) 含义: 1.在D7数值的基础上,随机加一个数值,该数值的随机范围为4250——8000. 2.注意8000和4250要反着写
- openjudge noi 买房子
题目链接:http://noi.openjudge.cn/ch0105/16/ 总时间限制: 1000ms 内存限制: 65536kB 描述 某程序员开始工作,年薪N万,他希望在中关村公馆买一套60平 ...