我正在尝试将一些csv数据插入名为tuhanorder
的表中。我只想插入先前未插入orderbango
的那些行。这是我的代码
$orderhenkan=tuhanorder::firstOrCreate(['orderbango' => $orderbango],
['juchukubun2'=> 'ヤマト運輸'],
['soufusakibango'=> $syukkosakibango],
['chumonsyabango'=>(!empty($thanerjonno))],
['money2'=>(!empty($answers[$i]['int17']))],
['money3'=>(!empty($answers[$i]['int18']))],
['money5'=>(!empty($answers[$i]['int19']))],
['money4'=>(!empty($answers[$i]['int31']))],
['moneymax'=>(!empty($answers[$i]['int30']))],
['otodokedate'=>(!empty($answers[$i]['int22']))],
['youbou'=> $answers[$i]['int20']],
['chumonsyajouhou'=> $answers[$i]['int21']],
['otodoketime'=> $answers[$i]['int23']],
['information4'=> $answers[$i]['int24']],
['kessaihouhou'=> $answers[$i]['int25']],
['juchubango'=> $answers[$i]['int0']],
['chumondate'=> $answers[$i]['int1']],
['information5'=>$answers[$i]['int2']],
['juchukubun1'=> $answers[$i]['int10']]);
我的代码正在运行。但这只是插入前两个元素。其余在数据库中为null。我正在使用PostgreSQL作为数据库。
答案 0 :(得分:1)
首先是Laravel中的大规模分配概念问题。 您必须将所有表字段指定为模型的$ fillable数组(tuhanorder)。
https://laravel.com/docs/5.8/eloquent#mass-assignment
第二步,我注意到您只是在检查条件,但是如果条件匹配,则必须插入类似以下的数据:
'money2'=>(!empty($answers[$i]['int17']) ? $answers[$i]['int17'] : "");
答案 1 :(得分:0)
我已解决问题。这是我的代码
$tuhanorder=tuhanorder::firstOrCreate(['orderbango' => $orderbango],
['juchukubun2'=> 'ヤマト運輸',
'soufusakibango'=> $syukkosakibango,
'chumonsyabango'=>(!empty($thanerjonno) ? $thanerjonno : null ),
'money2'=>(!empty($answers[$i]['int17']) ? $answers[$i]['int17'] : null ),
'money3'=>(!empty($answers[$i]['int19']) ? $answers[$i]['int19'] : null ),
'money5'=>(!empty($answers[$i]['int18']) ? $answers[$i]['int18'] : null ),
'money4'=>(!empty($answers[$i]['int31']) ? $answers[$i]['int31'] : null ),
'moneymax'=>(!empty($answers[$i]['int30']) ? $answers[$i]['int30'] : null ),
'otodokedate'=>(!empty($answers[$i]['int22']) ? $answers[$i]['int22'] : null ),
'youbou'=> $answers[$i]['int20'],
'chumonsyajouhou'=> $answers[$i]['int21'],
'otodoketime'=> $answers[$i]['int23'],
'information4'=> $answers[$i]['int24'],
'kessaihouhou'=> $answers[$i]['int25'],
'juchubango'=> $answers[$i]['int0'],
'chumondate'=> $answers[$i]['int1'],
'information5'=>$answers[$i]['int2'],
'juchukubun1'=> $answers[$i]['int10']
]);