А что плохого или удивительного в сыром виде) Сам sql лёгок в понимании. С ним в случае сложных запросов больше контроля, опять же, как и удобства. При тестировании запросов не нужно городить огороды, что в dbvizualizer/dbeaver написал - то и суешь с небольшими изменениями. С простыми запросами с одним селектом без кучи джойнов конечно можно обходиться и ормкой. А не хочется орм, но и не хочется голым текстом запрос пихать - можно билдерами обойтись, опять же.
для простых запросов орм, для сложных - sql
Продублирую вопрос А почему для простых вопросов не писать sql?
инъекции гыгыгы
Ну он же сложные предлагает и так на sql писать, значит уже подготовился к инъекциям
можно и писать для простых sql Если говорить про Perl (на нем в основном пишу), то по сути нужно писать два массива - массив плейсхолдеров для select * from t where id in (?, ?, ?) например, у нас есть массив с id: my @ids = qw/1 2 3/; Нам нужно сначала сделать массив плейсхолдеров my $placeholders = join ',', ('?') x @ids; и далее подставляем my @values = $dbh->selectall_array("select * from t where id in ($placehlders)", {Slice => {}}, @ids) При использовании ОРМ, например DBIx::Class, то можно написать так: my @values = $rs->search({id => { -in => \@ids}}); без всяких плейсхолдеров
Вопрос был не про то как это делать, а про то, зачем это делать Если ты предлагаешь сложные запросы уже писать на сиквеле, то зачем тянуть орм для простых запросов, которые на сиквеле написать вообще не проблема?
Обсуждают сегодня