qeephp提供了强大的数据库关联,比如我添加新闻的时候,新闻标题等属性放到news表里面,新闻内容单独放到一个newses表里面。这样我们平常操作的时候,一般都是left join关联查询,添加、修改、删除都是分别对两个表操作。但是qeephp就不需要那么麻烦,只要在模型里面建立一下关联,然后就查询、添加、修改、删除就很简单了。

在model里面:

/**
* 添加对象间的关联
*/
# 'other' => array('has_one' => 'Class'),
'news' => array('has_one' => 'newses','souce_id'=>'id','target_id'=>'id'),

这样两个表就关联起来了。

查询:

$news = News::find()->order('id desc');
$this->_view['news'] = $news->getAll();

显示:

$news->news->content

就是这么so easy

添加:

$new = new News($n);            //实例化news类
$new->news->content = $this->_context->content;
$new->save();

修改:

跟添加差不多。

删除:

$id = $this->_context->id;
News::meta()->destroyWhere('id = ?',$id);

这样就两条数据都删除了。如果不想删除newses表的数据,定义关联的时候可以这样写:

'news' => array('has_one' => 'newses','souce_id'=>'id'),

比如新闻跟新闻分类关联,删除的时候,新闻分类也可能被删除,不定义target_id,就不会把关联到的新闻分类删掉。

转载于:https://www.cnblogs.com/ideassky/archive/2011/01/13/1934952.html

qeephp数据库关联操作相关推荐

  1. Python 基于python+mysql浅谈redis缓存设计与数据库关联数据处理

    基于python+mysql浅谈redis缓存设计与数据库关联数据处理 by:授客  QQ:1033553122 测试环境 redis-3.0.7 CentOS 6.5-x86_64 python 3 ...

  2. Mysql数据库(三)——mysql数据库高级操作

    Mysql数据库(三)--mysql数据库高级操作 一.指定主键的另一种方式 二.克隆/复制一个表 1.方法一 2.方法二 三.清空表,删除表内数据 1.方法一 2.方法二 3.方法三 4.三个删除方 ...

  3. django系列5.1--ORM对数据库的操作

    Django---ORM数据库操作(图书管理系统基本实例) 一.基本知识 MVC模式(Model–view–controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Mo ...

  4. 在python中创建虚拟环境和Django对数据库的操作(一)

    一怼:横州侧畔千帆过,漏出你这个小瘪三,我劝天公重抖擞,劈死你这个王八蛋(by.阅后即瞎) 先说笔者所使用的版本,笔者使用的是django1.8.4的版本,不同版本可能有不同请按照实际情况处理,本文只 ...

  5. datetime类型怎么输入_精心整理MySQL基本使用(数据库的操作、数据类型、MySQL的常用命令)...

    前言:瑞典 MySQL AB 公司开发,目前属于 Oracle 公司. MySQL是一种关联数据库管理系统 由于其体积小.速度快.总体拥有成本低.MySQL软件采用了双授权政策(本词条"授权 ...

  6. python文本框与数据库的关联_Python 基于python+mysql浅谈redis缓存设计与数据库关联数据处理...

    基于python+mysql浅谈redis缓存设计与数据库关联数据处理 by:授客 QQ:1033553122 测试环境 redis-3.0.7 CentOS 6.5-x86_64 python 3. ...

  7. 数据库之操作MySQL

    数据库之操作MySQL 一.数据库 1.什么是数据库 数据库是数据管理的有效技术,是由一批数据构成的有序集合,这些数据被存放在结构化的数据表里.. 数据表之间相互关联,反映客观事物间的本质联系.. 数 ...

  8. 数据库常用操作语句总结

    数据库常用操作语句总结 一.基础 1.select 语句 2.select distinct 语句 3.where 子句 4.and 和 or 运算符 5.order by 语句 6.insert i ...

  9. mysql(数据库)初级操作

    数据库 第一节 MySQL介绍和安装 mysql安装简单总结 #1.下载:MySQL Community Server 5.7.16 http://dev.mysql.com/downloads/my ...

最新文章

  1. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521))) TNS-12541: TNS:no li
  2. 1022 D进制的A+B (20 分)(c语言)
  3. 计算机二级access选择题知识点总结,全国计算机二级Access考试重点题型汇总(选择题).doc...
  4. 成为Java流大师–第3部分:终端操作
  5. 用MATLAB玩转机器人-第1章 认识MATLAB
  6. cropbox.js 头像裁剪插件
  7. 【九】Jmeter 实现验证码登录
  8. reportgen :python生产pptx
  9. 继承接口Java多线程(二)、启动一个线程的3种方式
  10. 在ASP.NET MVC项目中使用React
  11. android反编译工具推荐,Android 反编译工具的各种用法
  12. Matlab获取线粒体序列及核苷酸初步分析
  13. 差分信号,差分对和耦合(一)——基本概念介绍
  14. i3 10105F参数配置 i3 10105F怎么样
  15. 拿走不谢,最全匹配中国大陆手机号码的正则表达式
  16. 医学影像组学人工智能案例结合
  17. matlab函数 无限冲激响应滤波器,MATLAB代码 有限冲激响应(FIR)滤波器和无限冲激响应(IIR)滤波器...
  18. java 取整符号_浅析java中的取整(/)和求余(%)
  19. 实验五 汉字字库实验(Logisim)
  20. CPU位数、操作系统位数和编译器位数关系

热门文章

  1. 数据库和java关系6_java六绝之MySQL
  2. 腾讯云对象存储COS + 数据万象CI = 完善的图片解决方案
  3. Docker制作含字体库的OpenJdk镜像
  4. Android 网络图片缓存
  5. 分光测色仪测量物体哪些值?测量数据怎么看?
  6. 牛逼!知道这100 个网络基础知识,成了半个网络高手!(文末附PDF版本)
  7. 顶级程序员的成长之路1
  8. nginx删除图片缓存
  9. SC/Tetra V13 安装指南 Crack
  10. 场效应三极管及其放大电路学习笔记