thinkphp 的关联模型 CURD操作
2011-10-21 17:00
656 查看
关于ThinkPHP的关联模型。 一、数据表 有三个表: 1、think_user 字段:id、name、password、mark等 2、think_user_info 字段:id、user_id、user_photo、user_nickname等 3、think_user_liuyan 字段:id、user_id、liuyan等 二、Model 文件:UserModel.class.php 源码: <?php class UserModel extends RelationModel{ protected $_link=array( 'user_info'=>array( 'mapping_type'=>HAS_ONE, 'mapping_name'=>'user_info', 'class_name'=>'user_info', 'foreign_key'=>'user_id', ), 'user_liuyan'=>array( 'mapping_type'=>HAS_MANY, 'mapping_name'=>'user_liuyan', 'foreign_key'=>'user_id', 'parent_key'=>'p_id', ), ); } ?> 三、Action 文件:TestAction.class.php 源码: <?php class TestAction extends Action{ //查询 public function index(){ $user=D('Home.User'); $list=$user->relation(true)->order('id desc')->findAll(); dump($list); } //添加 public function add(){ $user=D('Home.User'); $data=array(); $data['name']='cloudcome666'; $data['password']=md5('cloudcome66'); //HAS_ONE的插入:1维数组 $data['user_info']=array( 'user_nickname'=>'网页写入:云淡然665', ); //HAS_MANY的插入:2维数组 $data['user_liuyan']=array( array('liuyan'=>'由网页写入11111111111111'), array('liuyan'=>'由网页写入22222222222222'), ); $list=$user->relation(true)->add($data); } //更新 public function save(){ $user=D('Home.User'); //必须指定主键!! $data['id']='17'; //!!这里更新mark的原因是让主表也有更新操作 //这样下面的$list的结果就是true,否则就永远是false $rn=date('ymdHms'); $data['mark']=$rn; //HAS_ONE的更新:1维数组 $data['user_info']=array( 'user_qq'=>'29999', ); //HAS_MANY的更新:2维数组 $data['user_liuyan']=array( array('id'=>'9','liuyan'=>'id=9由网页hfg7hfy7717797181222更新7774764576'), array('id'=>'10','liuyan'=>'id=10由网页rtrtu77y7277987221111更新274574572222'), ); $list=$user->relation(true)->where('id=17')->save($data); if($list){//$list 为true echo '更新成功'; }else{ echo '更新失败'; } } //删除 public function del(){ $user=D('Home.User'); $list=$user->relation(true)->where('id=16')->delete(); dump($list); if($list){//$list 为true echo '删除成功'; }else{ echo '删除失败'; } } } ?>
相关文章推荐
- ThinkPHP关联模型操作
- ThinkPHP学习笔记(八)CURD的的相关操作以及表的关联查询等
- ThinkPHP 之 ORM操作和关联模型
- [thinkphp3.2.3]模型CURD操作
- ThinkPHP关联模型操作
- ThinkPHP 之 ORM操作和关联模型
- ThinkPHP5-模型和关联操作
- ThinkPHP关联模型操作
- ThinkPHP学习笔记(五)使用模型操作数据库之CURD
- ThinkPHP关联模型操作实例分析
- ThinkPHP关联模型操作实例分析
- ThinkPHP5学习(12)模型和关联
- thinkphp(1)关联模型学习
- ThinkPHP5.0框架下多对多关联模型的增删改查
- ThinkPHP框架模型连贯操作(八)
- ThinkPHP之数据模型操作
- thinkphp控制器操作数据库与实例化模型
- thinkphp框架中“关联操作”的完整定义详解
- thinkphp框架中“关联操作”的完整定义详解
- [thinkPHP] buildSql可以查看tp CURD操作对应的SQL