Я реализую скрипт для обновления таблицы prestashop -> product_carrier с помощью CSV. У моего CSV есть 2 столбца.
Столбец «ссылка» и столбец «истина / ложь». Когда я просматриваю CSV и ссылка равна 0, я вставляю в таблицу 3 строки, которые касаются ссылок на носителей. Моя проблема в том, что когда я просматриваю CSV, var_dump показывает мне NULL, и я не понимаю, почему. Вот мой код:
<code> <?php
require(dirname(__FILE__) . '/config/config.inc.php');
$dir_fichier = $_SERVER['DOCUMENT_ROOT'].'/IMPORTS/STOCK_EXPRESS_FR'.'.csv';
tntProduct($dir_fichier);
function tntProduct($dir_fichier)
{
$csv = new SplFileObject($dir_fichier);
$csv->setFlags(SplFileObject::READ_CSV);
$csv->setCsvControl(';');
$carriersFR = [
0 => 1,
1 => 72,
2 => 87
];
foreach($csv as $ligne){
echo '<pre>';
if ($ligne[1] == 0) {
getProductsIds($ligne[0], $carriersFR);
}
echo '
';
}
}
функция getProductsIds ($ ссылка, $ носители)
{
$ sql = Db :: getInstance () -> executeS ('
SELECT p.id_product
FROM '._DB_PREFIX _.' Продукт p
ГДЕ p.reference = '.' "'. $ Reference.'" ');
foreach ($ sql как $ key => $ item) {
$ productsIds [$ key] ['id_product'] = (int) $ item ['id_product'];
$ productsIds [$ key] ['id_carrier_reference'] = $ carrier;
$ productsIds [$ key] ['id_shop'] = 1;
}
foreach ($ productsIds as $ productsId) {
$ product [] = $ productsId;
}
var_dump ($ продукта);
вернуть $ productsIds;
}
отображается
![enter image description here](https://i.stack.imgur.com/lR5zP.jpg)
Пример CSV:
831S587 0
822 0
10601 13
61703111 0
Спасибо за помощь.