我有一个数组,其中包含许多数组,其中包含我想要使用 saveAll
或 saveMany
保存的数据。然而,由于我无法改变的因素,并非所有数组实际上都包含任何数据。在下面的转储中,您可以看到,只有前两个数组被填充。
使用 saveAll
或 saveMany
保存此数组时,我收到以下错误:违反完整性约束:1048 列“productinfo_id”不能为空
.
使用 saveAll 或 saveMany 保存数组时如何避免此错误?
array(
(int) 1 => array(
'purchaseinfo_id' => '7',
'productinfo_id' => '68',
'quantity' => '30',
'productName' => 'ciplorex syp 125',
'pack' => '60ml',
'purchasePrice' => '49.30',
'grossAmount' => '1479.00',
'discountPercent' => '20.00',
'discountAmount' => '295.80',
'netAmount' => '1183.20'
),
(int) 2 => array(
'purchaseinfo_id' => '7',
'productinfo_id' => '69',
'quantity' => '27',
'productName' => 'ciplorex syp 250',
'pack' => '60ml',
'purchasePrice' => '85.00',
'grossAmount' => '2295.00',
'discountPercent' => '20.00',
'discountAmount' => '459.00',
'netAmount' => '1836.00'
),
(int) 3 => array(
'purchaseinfo_id' => '7',
'productinfo_id' => '',
'quantity' => '',
'productName' => '',
'pack' => '',
'purchasePrice' => '',
'grossAmount' => '',
'discountPercent' => '',
'discountAmount' => '',
'netAmount' => ''
),
(int) 4 => array(
'purchaseinfo_id' => '7',
'productinfo_id' => '',
'quantity' => '',
'productName' => '',
'pack' => '',
'purchasePrice' => '',
'grossAmount' => '',
'discountPercent' => '',
'discountAmount' => '',
'netAmount' => ''
),
(int) 5 => array(
'purchaseinfo_id' => '7',
'productinfo_id' => '',
'quantity' => '',
'productName' => '',
'pack' => '',
'purchasePrice' => '',
'grossAmount' => '',
'discountPercent' => '',
'discountAmount' => '',
'netAmount' => ''
),
(int) 6 => array(
'purchaseinfo_id' => '7',
'productinfo_id' => '',
'quantity' => '',
'productName' => '',
'pack' => '',
'purchasePrice' => '',
'grossAmount' => '',
'discountPercent' => '',
'discountAmount' => '',
'netAmount' => ''
),
(int) 7 => array(
'purchaseinfo_id' => '7',
'productinfo_id' => '',
'quantity' => '',
'productName' => '',
'pack' => '',
'purchasePrice' => '',
'grossAmount' => '',
'discountPercent' => '',
'discountAmount' => '',
'netAmount' => ''
),
(int) 8 => array(
'purchaseinfo_id' => '7',
'productinfo_id' => '',
'quantity' => '',
'productName' => '',
'pack' => '',
'purchasePrice' => '',
'grossAmount' => '',
'discountPercent' => '',
'discountAmount' => '',
'netAmount' => ''
),
(int) 9 => array(
'purchaseinfo_id' => '7',
'productinfo_id' => '',
'quantity' => '',
'productName' => '',
'pack' => '',
'purchasePrice' => '',
'grossAmount' => '',
'discountPercent' => '',
'discountAmount' => '',
'netAmount' => ''
),
(int) 10 => array(
'purchaseinfo_id' => '7',
'productinfo_id' => '',
'quantity' => '',
'productName' => '',
'pack' => '',
'purchasePrice' => '',
'grossAmount' => '',
'discountPercent' => '',
'discountAmount' => '',
'netAmount' => ''
),
(int) 11 => array(
'purchaseinfo_id' => '7',
'productinfo_id' => '',
'quantity' => '',
'productName' => '',
'pack' => '',
'purchasePrice' => '',
'grossAmount' => '',
'discountPercent' => '',
'discountAmount' => '',
'netAmount' => ''
),
(int) 12 => array(
'purchaseinfo_id' => '7',
'productinfo_id' => '',
'quantity' => '',
'productName' => '',
'pack' => '',
'purchasePrice' => '',
'grossAmount' => '',
'discountPercent' => '',
'discountAmount' => '',
'netAmount' => ''
),
(int) 13 => array(
'purchaseinfo_id' => '7',
'productinfo_id' => '',
'quantity' => '',
'productName' => '',
'pack' => '',
'purchasePrice' => '',
'grossAmount' => '',
'discountPercent' => '',
'discountAmount' => '',
'netAmount' => ''
),
(int) 14 => array(
'purchaseinfo_id' => '7',
'productinfo_id' => '',
'quantity' => '',
'productName' => '',
'pack' => '',
'purchasePrice' => '',
'grossAmount' => '',
'discountPercent' => '',
'discountAmount' => '',
'netAmount' => ''
),
(int) 15 => array(
'purchaseinfo_id' => '7',
'productinfo_id' => '',
'quantity' => '',
'productName' => '',
'pack' => '',
'purchasePrice' => '',
'grossAmount' => '',
'discountPercent' => '',
'discountAmount' => '',
'netAmount' => ''
),
(int) 16 => array(
'purchaseinfo_id' => '7',
'productinfo_id' => '',
'quantity' => '',
'productName' => '',
'pack' => '',
'purchasePrice' => '',
'grossAmount' => '',
'discountPercent' => '',
'discountAmount' => '',
'netAmount' => ''
),
(int) 17 => array(
'purchaseinfo_id' => '7',
'productinfo_id' => '',
'quantity' => '',
'productName' => '',
'pack' => '',
'purchasePrice' => '',
'grossAmount' => '',
'discountPercent' => '',
'discountAmount' => '',
'netAmount' => ''
),
(int) 18 => array(
'purchaseinfo_id' => '7',
'productinfo_id' => '',
'quantity' => '',
'productName' => '',
'pack' => '',
'purchasePrice' => '',
'grossAmount' => '',
'discountPercent' => '',
'discountAmount' => '',
'netAmount' => ''
),
(int) 19 => array(
'purchaseinfo_id' => '7',
'productinfo_id' => '',
'quantity' => '',
'productName' => '',
'pack' => '',
'purchasePrice' => '',
'grossAmount' => '',
'discountPercent' => '',
'discountAmount' => '',
'netAmount' => ''
),
(int) 20 => array(
'purchaseinfo_id' => '7',
'productinfo_id' => '',
'quantity' => '',
'productName' => '',
'pack' => '',
'purchasePrice' => '',
'grossAmount' => '',
'discountPercent' => '',
'discountAmount' => '',
'netAmount' => ''
),
(int) 21 => array(
'purchaseinfo_id' => '7',
'productinfo_id' => '',
'quantity' => '',
'productName' => '',
'pack' => '',
'purchasePrice' => '',
'grossAmount' => '',
'discountPercent' => '',
'discountAmount' => '',
'netAmount' => ''
),
(int) 22 => array(
'purchaseinfo_id' => '7',
'productinfo_id' => '',
'quantity' => '',
'productName' => '',
'pack' => '',
'purchasePrice' => '',
'grossAmount' => '',
'discountPercent' => '',
'discountAmount' => '',
'netAmount' => ''
),
(int) 23 => array(
'purchaseinfo_id' => '7',
'productinfo_id' => '',
'quantity' => '',
'productName' => '',
'pack' => '',
'purchasePrice' => '',
'grossAmount' => '',
'discountPercent' => '',
'discountAmount' => '',
'netAmount' => ''
),
(int) 24 => array(
'purchaseinfo_id' => '7',
'productinfo_id' => '',
'quantity' => '',
'productName' => '',
'pack' => '',
'purchasePrice' => '',
'grossAmount' => '',
'discountPercent' => '',
'discountAmount' => '',
'netAmount' => ''
),
(int) 25 => array(
'purchaseinfo_id' => '7',
'productinfo_id' => '',
'quantity' => '',
'productName' => '',
'pack' => '',
'purchasePrice' => '',
'grossAmount' => '',
'discountPercent' => '',
'discountAmount' => '',
'netAmount' => ''
),
(int) 26 => array(
'purchaseinfo_id' => '7',
'productinfo_id' => '',
'quantity' => '',
'productName' => '',
'pack' => '',
'purchasePrice' => '',
'grossAmount' => '',
'discountPercent' => '',
'discountAmount' => '',
'netAmount' => ''
),
(int) 27 => array(
'purchaseinfo_id' => '7',
'productinfo_id' => '',
'quantity' => '',
'productName' => '',
'pack' => '',
'purchasePrice' => '',
'grossAmount' => '',
'discountPercent' => '',
'discountAmount' => '',
'netAmount' => ''
),
(int) 28 => array(
'purchaseinfo_id' => '7',
'productinfo_id' => '',
'quantity' => '',
'productName' => '',
'pack' => '',
'purchasePrice' => '',
'grossAmount' => '',
'discountPercent' => '',
'discountAmount' => '',
'netAmount' => ''
),
(int) 29 => array(
'purchaseinfo_id' => '7',
'productinfo_id' => '',
'quantity' => '',
'productName' => '',
'pack' => '',
'purchasePrice' => '',
'grossAmount' => '',
'discountPercent' => '',
'discountAmount' => '',
'netAmount' => ''
),
(int) 30 => array(
'purchaseinfo_id' => '7',
'productinfo_id' => '',
'quantity' => '',
'productName' => '',
'pack' => '',
'purchasePrice' => '',
'grossAmount' => '',
'discountPercent' => '',
'discountAmount' => '',
'netAmount' => ''
)
)
最佳答案
在保存数组之前,我建议对其进行循环并过滤空数组。示例:
$originalArray = #Your Data;
$saveArray = array();
foreach($originalArray as $item) {
if(!empty($item['productinfo_id'])) {
$saveArray[] = $item;
}
}
然后您可以将新数组提供给 saveAll
方法。
关于php - 使用 saveAll 保存包含一些空元素的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32399350/