mysql - 如何将B表中的许多数据添加到A表中的1个id中?以及如何在 Laravel 6 的 Eloquent 中做到这一点?

标签 mysql laravel eloquent laravel-6

我有 list 和 Alats 表,它们之间的关系如下:

1 data in Checklists can have many data in Alats (ex: IDC001 in Checklists can have IDA001, ID002, and ID003 in Alats)

问题是,如何将所有这些数据插入到 IDC001 中?特别是在 Eloquent (laravel 6) 中你是如何做到的

最佳答案

对于此任务,我们需要实现 one To Many关系。

在您的 list 模型中,您需要定义

<?php

  namespace App;
  use Illuminate\Database\Eloquent\Model;

  class Checklist extends Model
  {
    public function alats()
    {
        return $this->hasMany('App\Alat');
    }
  }

which means CheckList has many Alat models.

现在,在您的 Alat 模型中,您需要定义

  namespace App;
  use Illuminate\Database\Eloquent\Model;

  class Alat extends Model
  {

    public function checklist()
    {
       return $this->belongsTo('App\Checklist');
    }
  }

which means Alat has a relationship with CheckList model.

用法:要保存多条记录,需要使用 saveMany()

$alats = App\Checklist::where('column_name_of_checklists_table', 'IDC001')->first()->alats;

$alats->saveMany([
       new App\Alat(['column_name_of_alats_table' => 'IDA001']),
       new App\Alat(['column_name_of_alats_table' => 'ID0002']),
       new App\Alat(['column_name_of_alats_table' => 'ID0003']),
   ]);

关于mysql - 如何将B表中的许多数据添加到A表中的1个id中?以及如何在 Laravel 6 的 Eloquent 中做到这一点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59683487/

相关文章:

php/mysql 搜索查询字符串

laravel - 在数据透视表中附加数据时时间戳不会更新

mysql - Laravel 在一个对象中获取多个对象

php - 在 MySql 中保存和检索照片

mysql - SQL:选择列值至少出现两次的行?

php - 无法从 PHP 访问数据库值

php - 使用 Laravel 将两个模型合并为一个具有预加载关系的分页查询

ajax - Laravel 中的三种不同方法用于请求是否请求 JSON。他们是一样的吗?有重叠吗?

php - Laravel json 仅转换为数组数字 PHP

php - 拉维尔 4.1 : Eloquent Offset & Limit