ERR_CONNECTION_RESET při zápisu do databáze u doctrine
- Zuben45
- Člen | 268
Zdravím,
trápím se nyní pro mě s nepochopitelnou chybou. Když zapíši do db novou
položku, tak se v pořádku zapíše, ale poté dostanu
ERR_CONNECTION_RESET
Zkoušel jsem nastavil vše dle – https://forum.nette.org/…ows-riesenie ovšem marně.
successCallback:
public function add(SubmitButton $form)
{
$values = $form->form->getValues();
$id = $this->rubricRepository->create($values);
$image = $values->image;
$file = WWW_DIR . '/images/rubrics/' . $id . '.png';
if (file_exists($file)) {
unlink($file);
}
$image->move($file);
$img = Image::fromFile($file);
$img->resize(120, NULL, Image::SHRINK_ONLY);
$img->sharpen();
$img->save($file);
//$this->redirect(':Admin:Homepage:default');
}
stejný problém i když neupravuji obrázek.
Repository metoda create:
public function create($values)
{
$this->em->getConnection()->getConfiguration()->setSQLLogger(NULL);
$item = new Rubric();
$item->name = iconv('UTF-8', 'windows-1250', $values->name);
$item->text = iconv('UTF-8', 'windows-1250', $values->text);
$item->preText = iconv('UTF-8', 'windows-1250', $values->preText);
$item->private = (int) $values->private;
$item->url = $values->url;
$item->datePublished = $values->datePublished;
$item->date = (new Nette\Utils\DateTime());
if ($values->datePublished == '') {
$values->datePublished = new Nette\Utils\DateTime();
}
$item->datePublished = $values->datePublished;
$item->keywords = iconv('UTF-8', 'windows-1250', $values->keywords);
$item->description = iconv('UTF-8', 'windows-1250',$values->description);
$item->author = $this->userRepository->findOneBy(['id' => $values->author_id]);
$item->type = $this->typeRepository->findOneBy(['id' => $values->type_id]);
//$this->em->detach($item);
$this->em->persist($item);
$this->em->flush($item);
$id = $item->id;
$this->em->clear();
$item = NULL;
return $id;
// $this->em->refresh($item);
}
budu rád za každé nakopnutí.
Děkuji
Editoval Zuben45 (2. 6. 2017 16:35)
- Zuben45
- Člen | 268
CZechBoY napsal(a):
Udelej si minimalni kod k vyvolani chyby a ten sem potom posli pokid se ti to nepodari vyresit.
díky moc, zjistil jsem, že problém nastane, když chci zapisovat do column typu blob.
Zatím jsem to opravil tímto ošemetným způsobem:
$handle = ibase_blob_create();
$text = ibase_blob_add($handle, iconv('UTF-8', 'windows-1250', $values->text));
$item->text = $text;
ibase_blob_close($handle);
K Doctrine jsem si vytvořil vlastní driver pro podporu firebird, jelikož ho ve firmě používáme na hlavní projekt, proto bych se chtěl zeptat jestli by mi někdo neporadil / nenakopnul kam zrovna tuhle část bych mohl zaimplementovat ?
Děkuji
EDIT: Tak vyřešeno, vytvořil jsem vlastní (Custom type) a již funguje parádně :).
Editoval Zuben45 (5. 6. 2017 9:54)
- Zuben45
- Člen | 268
Zjistil jsem, že tenhle způsob mi vloží akorát prázdnou hodnotu do db.
EDIT: Tak jsem zjistil, že problém s CONNECTION_RESET se děje pouze u WIN, na linuxu kde je produkce to běží bez problému. Je možné že by byl problém v knihovně ?
Tak vyřešeno novou verzí php ;) (xampp s php 7.1)
Editoval Zuben45 (6. 6. 2017 12:04)