ThinkPHP关联模型操作
2016-05-18 09:12
1126 查看
比如:你要求删除用户的时候,同时删除与用户有关的所有信息。
一对一: 有
(HAS_ONE) 属于
(BELONGS_TO)
一对多: 有
(HAS_MANY) 属于
(BELONG_TO)
多对多: (MANY_TO_MANY)
HAS_ONE HAS_MANY:
表aoli_member
表aoli_good
MemberModel.class.php
<?php
class MemberModel extends RelationModel{
protected
$_link=array(
'good'=>array(
'mapping_type'=>HAS_MANY,//HAS_ONE查询出一条
'class_name'=>'good',
'mapping_name'=>'good',
'foreign_key'=>'uid',
'mapping_fields'=>array('id','uid','title'),
'as_fields'=>'title,id:goodid',
//'condition'=>'',//筛选条件
//'foreign_key'=>'',//外键
//'mapping_fields'=>'',//关联字段
//as_fields
),
);
}
?>
MemberAction.class.php
关联查询
<?php
class MemberAction extends Action{
function
index(){
$member=D('member');
//关联查询
$list=$member->relation(true)->select();
dump($list);
}
}
?>
关联插入
<?php
class MemberAction extends Action{
function
index(){
$member=D('member');
//关联插入
$data['username']='bbbbbbb';
$data['password']='bbbbbbb';
$data['good']=array(
array('title'=>'郝杰'),
array('title'=>'燕子'),
);
$list=$member->relation(true)->add($data);
//关联查询
$list=$member->relation(true)->select();
dump($list);
}
}
?>
关联更新
<?php
class MemberAction extends Action{
function
index(){
$member=D('member');
$data['username']='杰天使';
$data['password']='jieangel';
$data['good']=array(
array('id'=>1,'title'=>'郝杰'),
array('id'=>2,'title'=>'燕子'),
);
//关联更新
$list=$member->relation(true)->where('id=1')->save($data);
dump($list);
}
}
?>
关联删除
<?php
class MemberAction extends Action{
function
index(){
$member=D('member');
//关联删除
$list=$member->relation(true)->delete('4');
}
}
?>
BELONGS_TO:
GoodAction.class.php
<?php
class GoodAction extends
Action{
function
index(){
$good=D('good');
$list=$good->relation(true)->select();
dump($list);
}
}
?>
GoodModel.class.php
<?php
class GoodModel extends RelationModel{
protected
$_link=array(
'member'=>array(
'mapping_type'=>BELONGS_TO,
'foreign_key'=>'uid',
),
);
}
?>
一对一: 有
(HAS_ONE) 属于
(BELONGS_TO)
一对多: 有
(HAS_MANY) 属于
(BELONG_TO)
多对多: (MANY_TO_MANY)
HAS_ONE HAS_MANY:
表aoli_member
表aoli_good
MemberModel.class.php
<?php
class MemberModel extends RelationModel{
protected
$_link=array(
'good'=>array(
'mapping_type'=>HAS_MANY,//HAS_ONE查询出一条
'class_name'=>'good',
'mapping_name'=>'good',
'foreign_key'=>'uid',
'mapping_fields'=>array('id','uid','title'),
'as_fields'=>'title,id:goodid',
//'condition'=>'',//筛选条件
//'foreign_key'=>'',//外键
//'mapping_fields'=>'',//关联字段
//as_fields
),
);
}
?>
MemberAction.class.php
关联查询
<?php
class MemberAction extends Action{
function
index(){
$member=D('member');
//关联查询
$list=$member->relation(true)->select();
dump($list);
}
}
?>
关联插入
<?php
class MemberAction extends Action{
function
index(){
$member=D('member');
//关联插入
$data['username']='bbbbbbb';
$data['password']='bbbbbbb';
$data['good']=array(
array('title'=>'郝杰'),
array('title'=>'燕子'),
);
$list=$member->relation(true)->add($data);
//关联查询
$list=$member->relation(true)->select();
dump($list);
}
}
?>
关联更新
<?php
class MemberAction extends Action{
function
index(){
$member=D('member');
$data['username']='杰天使';
$data['password']='jieangel';
$data['good']=array(
array('id'=>1,'title'=>'郝杰'),
array('id'=>2,'title'=>'燕子'),
);
//关联更新
$list=$member->relation(true)->where('id=1')->save($data);
dump($list);
}
}
?>
关联删除
<?php
class MemberAction extends Action{
function
index(){
$member=D('member');
//关联删除
$list=$member->relation(true)->delete('4');
}
}
?>
BELONGS_TO:
GoodAction.class.php
<?php
class GoodAction extends
Action{
function
index(){
$good=D('good');
$list=$good->relation(true)->select();
dump($list);
}
}
?>
GoodModel.class.php
<?php
class GoodModel extends RelationModel{
protected
$_link=array(
'member'=>array(
'mapping_type'=>BELONGS_TO,
'foreign_key'=>'uid',
),
);
}
?>
相关文章推荐
- yii2批量添加的问题
- 实现FTP的文件上传与下载
- phpStorm中文编码及字体配置
- Laravel 5 性能优化技巧
- PHP正则:
- PHP正则表达式入门教程(推荐)
- CI框架源码解读之利用Hook.php文件完成功能扩展的方法
- PHP的swoole扩展安装方法详细教程
- PHP扩展框架之Yaf框架的安装与使用
- PHP下载文件的函数实例代码
- Improving the quality of the output
- Ubuntu12.04 编译安装Sphinx Coreseek3.2.14及PHP Sphinx 扩展库
- php的session可以自定义处理机制哦
- PHP如何区分未定义,null
- 一个简单的PHP的进程加socket加WS的例子
- phpstorm8.0.3实现“识别tp中D方法的模型类”
- 内容提供者ContentProvider和内容解析者ContentResolver
- REST介绍与REST在PHP中的应用
- PhpanAlysis分词技术
- PhpanAlysis分词技术