如何上傳csv文件並將數據保存到我的mysql數據庫中。 根據id.in cakephp 3 我無法做到這一點。誰能幫我。 我控制器 公共函數導入(){上傳csv文件並將數據保存在cakephp中的數據庫中3
if(isset($_POST["submit"])){
if($_FILES['file']['csv']){
$filename = explode('.', $_FILES['file']['csv']);
debug($filename);
if($filename[1]=='csv'){
$handle = fopen($_FILES['file']['csv'], "r");
while ($data = fgetcsv($handle)){
$item1 = $data[0];
// $item2 = $data[1];
// $item3 = $data[2];
// $item4 = $data[3];
$Applicants = $this->Applicants->patchEntity($Applicants, $item1);
$this->Applicants->save($Applicants);
}
fclose($handle);
}
}
}
$this->render(FALSE);
}
我的觀點:
<div class="col-md-8">
<?= $this->Form->create('Applicants',['type' => 'file','url' => ['controller'=>'Applicants','action' => 'import'],'class'=>'form-inline','role'=>'form',]) ?>
<div class="form-group">
<label class="sr-only" for="csv"> CSV </label>
<?php echo $this->Form->input('csv', ['type'=>'file','class' => 'form-control', 'label' => false, 'placeholder' => 'csv upload',]); ?>
</div>
<button type="submit" class="btn btn-default"> Upload </button>
<?= $this->Form->end() ?>
</div>
我要上傳CSV文件,並在我的database.but插入根據ID數據我是無法在cakephp中執行3 –
如果要逐行保存數據,是否要一次一行或全部插入數據,則可以在上述代碼的while循環中使用newEntity而不是patch實體。 –
請檢查我的編輯,這應該現在按預期工作 –