thinkphp5的模型中使用关联
来源:互联网 发布:美容连锁软件 编辑:程序博客网 时间:2024/06/05 00:12
有以下两个表
artitcle表(表示文章)
article的主键是id,外键是cateid,cateid对应于cate表的主键id。
cate表(表示栏目)
cate表的主键是id。
这两张表表示,每一篇文章属于一个栏目,每一个栏目有很多篇文章。
然后编写model类
article的model类:
class Article extends Model{// 设置完整数据表(包含前缀名),不含前缀用$name// 这里用了LoginModel类名,而不是Login名,如果和控制器名一样,并且和数据库名一样即可不用指定数据库表名protected $name='article';public function cate(){return $this->belongsTo("cate", "cateid", "id", ['article'=>'a', 'cate'=>'c'], 'LEFT');}}
class Cate extends Model{// 设置完整数据表(包含前缀名),不含前缀用$name// 这里用了LoginModel类名,而不是Login名,如果和控制器名一样,并且和数据库名一样即可不用指定数据库表名protected $name='cate';public function article(){//hasMany('关联模型名','外键名','主键名',['模型别名定义']);//hasMany('关联模型名','cate的外键名','cate的主键名',['模型别名定义']);//cate的主键是id,article的外键是cateid,关联cate的id主键,article的外键是cateidreturn $this->hasMany("article", "id", "id");}}
article的控制器类对model进行调用
class Article extends BaseControler{ public function lst() { $artres = ArticleModel::with("cate")->paginate(3); $this->assign('artres', $artres); return $this->fetch(); }}
最后在article的模板中调用变量(注意:由于model返回来的是对象数组,不是数据的二维数组,所以在html中调用是->而不是. 。
<td>{$vo->id}</td><td>{$vo->title}</td><td>{if condition="$vo->pic neq '' "} <img height="50px" src="__PUBLIC__/uploads/{$vo.pic}">{else /} 无缩略图{/if}</td> <td>{$vo->click}</td><td>{$vo->time|date="Y-m-d",###}</td> <td>{$vo->cate->catename}</td>
注意上面对cate表中catename的调用方式,如果写成{$vo.cate.catename}则会出错。
阅读全文
0 0
- thinkphp5的模型中使用关联
- thinkphp5 模型关联的bug
- ThinkPhp5.0模型的使用
- ThinkPHP5-模型和关联操作
- thinkphp5中__PUBLIC__的使用
- ThinkPHP5学习(12)模型和关联
- thinkphp5 模型关联和缓存简单实践
- thinkphp5.0使用中遇见的问题
- 关于thinkphp中关联模型的简单使用
- ThinkPHP5.0框架下多对多关联模型的增删改查
- ThinkPHP5中使用Smarty
- TP框架的关联模型的使用
- Thinkphp 下的关联模型的使用
- ThinkPHP5.1 路由地址中组合变量规则的使用
- ThinkPHP5的数据库和模型用法
- thinkphp5的控制台的使用
- thinkphp5.0.2 多对多模型中插入中间表字段不存在的解决办法
- ThinkPHP5中新增的方法
- webgl学习笔记四-动画
- Windows——jmeter环境变量配置
- JNIEnv介绍
- Docker--技术原理
- webgl学习笔记五-纹理
- thinkphp5的模型中使用关联
- LeetCode——106. Construct Binary Tree from Inorder and Postorder Traversal
- HashMap线程不安全原因
- 考研数学
- 阿里云服务器(centos)安装node和n
- python设计模式之策略模式
- gdb 调试
- 513. Find Bottom Left Tree Value (vector & queue)
- Java并发编程:线程池的使用