zoukankan      html  css  js  c++  java
  • 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 '插入成功'
            }
        }
    
  • 相关阅读:
    Python环境搭建详解(Window平台)
    扎心了Python
    解决Git
    Android入门教程(四)
    HEXO快速搭建自己的博客
    每日Android一问等你来解答-什么是Activity的生命周期?
    如何才能够系统地学习Java并发技术?
    LeetCode刷题指南(字符串)
    学生时代的最后一个新年,请一定要做这五件事
    20位程序员关于求职的疑问,以及我给出的参考答案
  • 原文地址:https://www.cnblogs.com/cn-oldboy/p/13753108.html
Copyright © 2011-2022 走看看