ActiveRow Nette\Database více insertů (duplicate)
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Desttro
- Člen | 126
Zdravím,
řeším tento problém. Povedlo se mi to udělat, když chci zduplikovat jeden
záznam, kód:
$id = $this->getParameter('id');
$id_out = is_array($id) ? implode(', ', $id) : $id;
$fetch = $this->database->table('manufacturing')->wherePrimary($id)->fetch();
$data = $fetch->toArray();
unset($data['id']);
$this->database->table('manufacturing')->insert($data);
chtěl bych ale např. zduplikovat 5 záznamů, zde ale nevím jak na to, napadlo mě něco jako:
$id = $this->getParameter('id');
$id_out = is_array($id) ? implode(', ', $id) : $id;
$data = $this->database->table('manufacturing')->wherePrimary($id)->fetchAll();
unset($data['id']);
$this->database->table('manufacturing')->insert($data);
ale Nette\Database generuje tohle:
INSERT INTO `manufacturing` (`159`, `160`, `161`, `168`)
VALUES (159, 160, 161, 168)
samozřejmě chyba:
PDOException #42S22
SQLSTATE[42S22]: Column not found: 1054 Unknown column ‚159‘ in
‚field list‘
přoč to nebere ty data? proč to neudělá více insertů zvlášť?
Děkuji za radu