必须建立两个模型分类模型(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 关联模型的更多相关文章

  1. thinkphp5 model 模型

    新增更新都是save.saveAll  怎么识别他们 实例化模型后调用save方法表示新增: 查询数据后调用save方法表示更新: save方法传入更新条件后表示更新: isUpdate(true): ...

  2. ThinkPHP5中模型关联关系一对一,一对多

    TP5 返回json反斜杠前面转义了class XinDai extends Controller{ public function index(){ $res = [ ['logo'=>'/i ...

  3. Thinkphp5.0 模型hasOne、hasMany、belongsTo详解

    ThinkPHP5有关联模型的操作,但有部分初学者对数据表中常见的几种表与表的关系还存在着问题,所以使用不好关联查询. 这里将hasOne.hasMany.belongsTo进行一个详细举例说明. 首 ...

  4. ThinkPHP 3.2.3 关联模型的使用

    关于关联模型 ThinkPHP 3.2.3 的关联模型(手册地址)一般处理关联数据表的 CURD 操作,例如关联读取.关联写入.关联删除等. 实例 博客管理模块关于博客有 4 张数据表:博客表 crm ...

  5. thinkphp 关联模型配置代码

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

  6. ThinkPHP 学习笔记 ( 四 ) 数据库操作之关联模型 ( RelationMondel ) 和高级模型 ( AdvModel )

    一.关联模型 ( RelationMondel ) 1.数据查询 ① HAS_ONE 查询 创建两张数据表评论表和文章表: tpk_comment , tpk_article .评论和文章的对应关系为 ...

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

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

  8. ThinkPHP第十五天(setField、setInc、setDec、关联模型)

    1.ThinkPHP中的比较特殊连贯操作 如果要更新某个字段可以用setField方法,比如M('user')->where('id=1')->setField('username','T ...

  9. ThinkPHP第十四天(显示TRACE界面配置,关联模型详解定义)

    1.显示TRACE界面,首选需要在显示模版界面,$this->display(),然后需要在配置文件中配置 SHOW_PAGE_TRACE => true 2.关联模型使用 主表以user ...

随机推荐

  1. Saltstack 分发

    把master上的hosts文件分发到所有主机 [root@node1 ~]# salt-cp '*' /etc/hosts /etc

  2. C memset

    //#include "stdafx.h" #include <iostream> #include <memory.h> using namespace ...

  3. python开发线程:线程&守护线程&全局解释器锁

    一 threading模块介绍 multiprocess模块的完全模仿了threading模块的接口,二者在使用层面,有很大的相似性,因而不再详细介绍 官网链接:https://docs.python ...

  4. python:函数的高级特性

    很多语言中,都允许把函数本身做为参数,传递给其它参数:即所谓的高阶函数.python中也有类似特性: 一.map/reduce.filter.sorted hadoop里的map-reduce思想在p ...

  5. 利用java8对设计模式的重构

    java8中提供的很多新特性可以用来重构传统设计模式中的写法,下面是一些示例: 一.策略模式 上图是策略模式的类图,假设我们现在要保存订单,OrderService接口定义要做什么,而NoSqlSav ...

  6. java泛型-自定义泛型方法与类型推断总结

    下面是自定义泛型方法的练习: package com.mari.generic; import java.util.ArrayList; import java.util.Collection; im ...

  7. (总结)Ubuntu apt-get apt-cache命令 使用

    http://rsljdkt.iteye.com/blog/1142463 apt-cache search wubipinyin apt-get命令本身并不具有管理软件包功能,只是提供了一个软件包管 ...

  8. Nginx静态文件路径配置

    root目录与alias目录的区别 Nginx路径location配置中,使用root目录与alias目录的区别 1)alias指定的目录是准确的,即location匹配访问的path目录下的文件直接 ...

  9. mac环境下intellij的自定义配置文件位置

    ~/Library/Preferences/IntelliJIdea2017.2/

  10. 如何使用Cassandra来存储time-series类型的数据

       Cassandra非常适合存储时序类型的数据,本文我们将使用一个气象站的例子,该气象站每分钟需要存储一条温度数据. 一.方案1,每个设备占用一行      这个方案的思路就是给每个数据源创建一行 ...