如何使用laravel在数据库中插入多维数组
我有一个多维数组,其中包含根据薪资年度及其各自月份计算的员工薪资。我想在不同的行中插入不同年份的工资及其各自的月份值。我在数据库表中还有一年列和12个月列。请指导我如何插入表中不同行的员工工资。 我的多维数组结构如下所示:-如何使用laravel在数据库中插入多维数组,laravel,Laravel,我有一个多维数组,其中包含根据薪资年度及其各自月份计算的员工薪资。我想在不同的行中插入不同年份的工资及其各自的月份值。我在数据库表中还有一年列和12个月列。请指导我如何插入表中不同行的员工工资。 我的多维数组结构如下所示:- Array ( [2016] => Array ( [jan] => 15000 [feb] => 15000 [mar] => 15000 [apr] => 15
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
}
}
请共享这些表的迁移和模型,以及迄今为止您尝试插入的内容。堆栈溢出不是编码服务。