I have a csv script that takes a csv records and imports into a mysql database. The problem is cakephp is unsuccessfully saving the data and cakephp is not giving any validation errors. If I remove the parent_id or id from saving, then it successfully imports all the records, but when I add id and parent id column, it goes back to not saving. sometimes it adds the first record then stops. When I walk through the code, cake is trying to find a record that already exist. I want it to do a insert even though there is a existing ID .
public function admin_uploadTopics() {
$enabled = true;
if($enabled) {
$response = array();
$response['success'] = 0;
$response['failure'] = 0;
//Represents a record set row number
$cr = 0;
//will hold each column field name
$field = array();
//variable that will store the entire record set
$d = array();
//opens csv file
if (($handle = fopen(APP."../topics", "r")) !== FALSE) {
//loops through each line
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$num = count($data);
//creates a row
$d[$cr] = array();
for ($c=0; $c < $num; $c++) {
//if this is the first r, gather the field names
if($cr == 0) {
$field[$c] = $data[$c];
} else {//else gather the data
if($c == 0) {
$d[$cr]['Topic'] = array();
}//this constructs a array that puts the data with the correct field name
//this is the second row (1) but I want it to begin at 0 so I do cr-1
$d[$cr-1]['Topic'][$field[$c]] = $data[$c];
}
}
if($cr) {
//reset model
$this->Topic->create();
//save the row
//$d[$cr-1]['Topic']['id'] = '';
//$d[$cr-1]['Topic']['parent_id'] = '';
if($this->Topic->save($d[$cr-1], false)) {
$response['success'] += 1;
} else {
$response['failure'] += 1;
}
}
//create new record row
$cr++;
}
fclose($handle);
}
echo "There were ".$response['failure']." errors and ".$response['success']." success when resetting.";
exit();
}
exit();
}
foreach($d['Topic'] as $topic)?