zoukankan      html  css  js  c++  java
  • Laravel5.1 模型 --一对多关系

    一对多关系算是比较常用的一种关联关系了,关于一对多我们可以用 文章对应评论 来举例:一篇文章可以有多个评论,但是一个评论只属于一篇文章。 这就是一对多关系。


     1 实现一对多关系

    我们先来准备两个模型,一个是文章表,另一个是评论表。其中评论表声明外键。

     1.1 评论表结构

        public function up()
        {
            Schema::create('comments', function (Blueprint $table) {
                $table->increments('id');
                $table->string('title');
                $table->text('body');
                $table->integer('article_id');  // 外键
                $table->timestamps();
            });
        }

     1.2 编写关系

    首先我们来声明Comment的:

    class Comment extends Model
    {
        protected $fillable = ['title', 'body', 'article_id'];
    
        public function article()
        {
            /**
             * 第二个参数是外键,我们的外键是article_id 如果我们省略了外键 laravel会自动以方法名article 连上_id来组成外键:article_id
             * 第三个参数是我们的外键对应article表的那个键,我们这里是id,可以省略。
             */
            return $this->belongsTo(Article::class, 'article_id', 'id');
        }
    }

    然后是Article模型:

        public function comments()
        {
            return $this->hasMany(Comment::class, 'article_id', 'id');
        }
  • 相关阅读:
    Boot-Repair&usb_repair
    Introducing ASLR for FreeBSD
    node.js操作Cookie
    Docker常见仓库MySQL
    Docker常见仓库CentOS
    Docker常见仓库Ubuntu
    Docker常见仓库Node.js
    Docker常见仓库WordPress
    Docker常见仓库Nginx
    Docker命令查询
  • 原文地址:https://www.cnblogs.com/sun-kang/p/7545932.html
Copyright © 2011-2022 走看看