大规模mysql在laravel中插入数组数组

Posted

技术标签:

【中文标题】大规模mysql在laravel中插入数组数组【英文标题】:Mass mysql insert array of arrays in laravel 【发布时间】:2019-05-29 09:27:13 【问题描述】:

我有一个这样的数组:

我想像 mysql 中的一行一样插入每个数组。 和 position[0] 列类型,position1 列日期,position[2] 信息。

项目是在laravel 5.7,但我认为在php中可以做到?

谢谢!!!!!!

【问题讨论】:

您能提供更多信息吗?就像你的数组的一个例子,到目前为止你尝试了什么,错误在哪里?等查看本指南以了解How to Ask 【参考方案1】:

您是否要执行批量分配?如果你这样做,你应该阅读文档: Mass Assignment Laravel


更新:如果你真的想在单个列上插入一个信息数组,你应该将数组转换为 json 格式。

json_encode($array_name);

但您可能应该创建另一个表。

【讨论】:

谢谢!!我认为通过批量分配我可以做到!【参考方案2】:

我的数组存储在 $logs 中,使用这个 foreach 和 mass assignment 可以正常工作!!

控制器代码:

foreach ($logs as $key => $value) 
        App\Log::create(['type' => $value[0], 'date' => $value[1], 'info' => $value[2]]);
      

型号:

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Log extends Model

  protected $fillable = [
      'type', 'date', 'info', 'extra',
  ];

  public $timestamps = false;

【讨论】:

以上是关于大规模mysql在laravel中插入数组数组的主要内容,如果未能解决你的问题,请参考以下文章

希尔排序

Laravel - 在数据库中保存或插入图像数组 - Laravel

排序算法之希尔排序

如何在给定键和值数组的情况下有效地在 Eloquent 中进行大规模更新

十大排序算法--希尔排序

算法系列二希尔排序