如何使用laravel在数据库中插入多维数组

如何使用laravel在数据库中插入多维数组,laravel,Laravel,我有一个多维数组,其中包含根据薪资年度及其各自月份计算的员工薪资。我想在不同的行中插入不同年份的工资及其各自的月份值。我在数据库表中还有一年列和12个月列。请指导我如何插入表中不同行的员工工资。 我的多维数组结构如下所示:- Array ( [2016] => Array ( [jan] => 15000 [feb] => 15000 [mar] => 15000 [apr] => 15

我有一个多维数组,其中包含根据薪资年度及其各自月份计算的员工薪资。我想在不同的行中插入不同年份的工资及其各自的月份值。我在数据库表中还有一年列和12个月列。请指导我如何插入表中不同行的员工工资。 我的多维数组结构如下所示:-

Array
(
    [2016] => Array
    (
        [jan] => 15000
        [feb] => 15000
        [mar] => 15000
        [apr] => 15000
        [may] => 15000
        [jun] => 15000
        [jul] => 15000
        [aug] => 15000
        [sep] => 15000
        [oct] => 15000
        [nov] => 15000
        [dec] => 15000
    )

    [2017] => Array
    (
        [jan] => 20000
        [feb] => 20000
        [mar] => 20000
        [apr] => 20000
        [may] => 20000
        [jun] => 20000
        [jul] => 20000
        [aug] => 20000
        [sep] => 20000
        [oct] => 20000
        [nov] => 20000
        [dec] => 20000
    )
)

您必须展平您的阵列,您需要一个如下的阵列:

$data = [
   ['year'=>'2016', 'month'=>'1', 'salary' => 15000],
   ['year'=>'2016', 'month'=>'2', 'salary' => 15000],

   // ... and so on
然后,您可以使用模型插入,如:

YourSalaryModel::insert($data);

问:为什么您不在2017年1月的那个时间点保存(或保存)它们?(但这是一个旁白q)

我会有一个带有日期列(2016-01-01)、用户id和工资(是int还是float/double,取决于它们是否始终是整数或可以是float)的工资表

在您的示例中,这是执行两个循环的情况:

foreach ($salaries as $year => $months) { 
    foreach ($months as $month => $salary) {
       // carbon parse to create a date 
       //insert into the table
    } 
}

请共享这些表的迁移和模型,以及迄今为止您尝试插入的内容。堆栈溢出不是编码服务。