tp5关联模型

这世界只有三种关系

1.一对一
2.一对多
3.多对多
实际上,男女的世界里,也是这样

一些基础的规则

1.因为一个巴掌拍不响。但是,除非必要,只需要再其中一个模型中,写关联方法就好。
2.因为我是男人,我就是把主表,想象成男人。附表想象成女人。

在以上基础上,对关联的理解分别是:

1.一对一:一个男人hasone一个女人,一个女人belongsto多一个男人
2.一对多:一个男人hasmany多个女人,一个女人belongsto
3.多对多:这是一个混乱但有序的世界,一个男人同时hasmany女人,而一个女人,belongsToMany男人

别人一篇文章,继续加深这些知识

1、在模型中,类似多个评论对应一个用户,为一对多的关系

一般来说,关系类型包含了以下几种
一对一关联:HAS_ONE 以及相对的 BELONGS_TO
一对多关联:HAS_MANY 以及相对的 BELONGS_TO
多对多关联:BELONGS_TO_MANY
2、完成模型的步骤主要有:

① 创建User模型
② 创建comment 模型(评论模型,以评论为例)
③ 在User模型添加方法
④ 在comment模型添加方法
3、User模型的代码部分

<?php
    namespace app/index/model;
    use think/Model;
    Class User extends Model{
        //定义关联方法
        public function comm(){
            return $this->hasMany('comment','uid','user_id');
        }
    }

4、User控制器的代码部分:关系模型的查询

<?php
    Class User extends Controller{
        public function test19(){
            $user = new User;
            //获取User对象的属性
            echo $user->nickname;
            $user->comm;
            foreach($user->comm as $comm);
            echo $comm->comment_id;
            echo $comm->content;
        }
    }

5、关系模型的插入:

<?php
    Class User extends Controller{
        public function test19(){
            $user = User::get(1);
            $comment = new Comment;
            $conment->content = 'tp教程';
            $conment->add_time = time();
            $user->comm()->save($conment);
            return '插入成功'
        }
    }

批量插入方法

<?php
    Class User extends Controller{
        public function test19(){
            $user = User::get(1);
            $comment = new Comment;
            $comment=[
            ['content' => 'tp5视频','add_time'=>time()];
            ['content' => '一块钱一个', 'add_time'=>time()];
            ]
            $user->comm()->save($comment);
            return '插入成功'
        }
    }
posted @ 2020-09-30 09:54  风意不止  阅读(295)  评论(0编辑  收藏  举报