Size: a a a

2020 November 13

IM

Ilya Medzhidov 🖋 in symfony
Иначе он подставляет содержимое константы "как есть", просто строкой, в итоге sql думает, что это переменная, а не строка.

Сейчас он создаёт строку вроде status = 'approved', если уберу кавычки, будет status = approved с ошибкой, что такой переменной нет
источник

IM

Ilya Medzhidov 🖋 in symfony
Сейчас всё работает, но может есть более правильный способ?)
источник

АЯ

Андрей Ява in symfony
Ilya Medzhidov 🖋
Как правильно заставить expr() сравнивать со строкой, без мракобесия с кастомными кавычками?)
ну юзай двойные
источник

IM

Ilya Medzhidov 🖋 in symfony
Я к тому, может я использую не тот метод или есть правильнее способ. Пролистал методы expr(), но ничего не нашёл. Если так и делают, то ок
источник

АЯ

Андрей Ява in symfony
ну яхз, я так никогда не билдил странно запрос
источник

АЯ

Андрей Ява in symfony
мне было достаточно биндинга параметров всегда
источник

АЯ

Андрей Ява in symfony
'transaction.status = :status'
источник

IM

Ilya Medzhidov 🖋 in symfony
тут понадобился isInstanceOf)
источник

АЯ

Андрей Ява in symfony
это плохо, надо по возможности избегать таких штук, но в целом ок
источник

АЯ

Андрей Ява in symfony
вообще странно почему он не экранирует сам
источник

АЯ

Андрей Ява in symfony
ниразу ещё не сталкивался с таким вот странным поведением
источник

IM

Ilya Medzhidov 🖋 in symfony
Ну у него в доке так и написано, что он конвертит eq('a','b') в a = b
источник

PU

Pavel Ustyugov in symfony
здравствуйте! кто читал данную книжку? Как впечатления?
источник

IM

Ilya Medzhidov 🖋 in symfony
Если работал с симфони уже, то покажется простенькой. За пол часа пролистаешь, пару моментов может выцепишь, остальное скука. Если не работал с симфони или пролистывая книгу замечаешь много неизвестного, то прочитать стоит
источник

PU

Pavel Ustyugov in symfony
Ilya Medzhidov 🖋
Если работал с симфони уже, то покажется простенькой. За пол часа пролистаешь, пару моментов может выцепишь, остальное скука. Если не работал с симфони или пролистывая книгу замечаешь много неизвестного, то прочитать стоит
спасибо!
источник

s

s4b0t in symfony
Pavel Ustyugov
здравствуйте! кто читал данную книжку? Как впечатления?
Мне зашла. В комплекте репка идёт. Сама по себе интересная. Только ветку по свежее сразу бери.
источник

OK

Oleg Krasavin in symfony
https://www.youtube.com/c/SystemDesignInterview

Мужик делает очень качественные обучающие видео по дизайну систем, мне очень зашло, мб кому-то еще окажется полезным.
источник

VM

Volodymyr Melko in symfony
qq
Не шарю в транзакциях, верно сделал?
$file = new File();
$file->setName($filename);
$file->setSize($uploadedFile->getSize());

$this->em->getConnection()->beginTransaction();
$this->em->persist($file);
$this->em->flush();

try {
   $uploadedFile->move($this->getTargetDirectory(), $file->getId());
   $this->em->getConnection()->commit();
} catch (FileException $e) {
   $this->em->getConnection()->rollBack();
   throw $e;
}
$this->em->transactional(function (EntityManagerInterface $em) use  ($filename, $uploadedFile) {
   $file = new File();
   $file->setName($filename);
   $file->setSize($uploadedFile->getSize());

   $em->persist($file);
   $em->flush(); // только ради $file->getId() ниже, так бы заюзал просто uuid в качестве id для файла
   $uploadedFile->move($this->getTargetDirectory(), $file->getId());
});
источник

Ш

Шурик in symfony
Volodymyr Melko
$this->em->transactional(function (EntityManagerInterface $em) use  ($filename, $uploadedFile) {
   $file = new File();
   $file->setName($filename);
   $file->setSize($uploadedFile->getSize());

   $em->persist($file);
   $em->flush(); // только ради $file->getId() ниже, так бы заюзал просто uuid в качестве id для файла
   $uploadedFile->move($this->getTargetDirectory(), $file->getId());
});
flush внутри em->transactional?
источник

VM

Volodymyr Melko in symfony
Шурик
flush внутри em->transactional?
должно работать =)
источник