- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
$db=Yii::$app->db;
if($db->driverName == 'pgsql') {
$sql ="select a.* from report a inner join code_report b on a.id=b.report_id ";
$sql.=" inner join code c on b.code_id=c.id where cast (c.val as integer ) {$znaki[$sign]} $value group by a.id";//pgsql
}
if($db->driverName == 'mysql') {
$sql ="select a.* from report a inner join code_report b on a.id=b.report_id ";
$sql.=" inner join code c on b.code_id=c.id where convert(c.val, signed) {$znaki[$sign]} $value group by a.id";//mysql
}
guestinho 08.08.2016 18:04 # +2
guesto 08.08.2016 18:13 # +1
Dummy00001 08.08.2016 18:22 # +3
формулировка задания то же была бы интересна. если "в минимальное количество символов" и "минимальный оверхед", то тогда сложно кандидата винить.
heleg 08.08.2016 19:15 # +1
Dummy00001 08.08.2016 19:19 # 0
?
> При чем, не было никаких особых требований по поводу постгрес или чего-то ещё специфического.
может решил похвастаться широким спектром знаний.
меня (как думаю и бормана) больше интересует на кой хер такая загадочная конструкция с `convert(c.val, signed) {$znaki[$sign]} $value`. такое люди от хорошей жизни не пишут.
bormand 08.08.2016 19:21 # +2
Угу.
> {$znaki[$sign]}
Это преобразование "less" в "<"? Или операторы тупо пронумерованы?
> $value
А вот за это кандидата можно дропать не глядя :) Отмазки в духе "да оно же заэкранировано/профильтровано" не принимаются.
Dummy00001 08.08.2016 19:27 # +1
но отмазка в духе "я еще не опытный" я надеюсь у тебя прокатит?
я всегда негативно относился к бурным наездам на синтакс/этц которое тривиально в код ревью находятся/фиксятся. а вот семантику и глубже критиковать, то что сложнее разглядеть, там все дружно скромно умолкают, потому что все боятся себя идиотами показать.
heleg 08.08.2016 19:36 # +2
http://paste.ee/p/8uDYY
bormand 08.08.2016 19:44 # +1
...
$query = Report::findBySql($sql);
Ээээ...
Dummy00001 08.08.2016 19:49 # +1
...
$sql = "select a.* from ... "
либо не внимательный кандидат, либо спешил.
bormand 08.08.2016 19:50 # +1
Dummy00001 08.08.2016 21:04 # 0
о. проглядел.
Dummy00001 08.08.2016 19:47 # 0
я не знаю как оно на вебе/пыхе, но я часто новичков бью за отсутствие обработки ошибок. как по мне это самая большая проблема у этого кода. (или там какой blanket exception handling есть?)
вообщем, не тормози на одном месте: пытайся из всего кода вытянуть все какие возможно качества человека, негативные и позитивные. и смотри какие из негативных может будущий опыт скомпенсировать.
gost 09.08.2016 04:08 # 0
Ой, значочки какие-то интересные...
heleg 08.08.2016 19:32 # 0
Да, дальше он кидает этот запрос в ar
> меня (как думаю и бормана) больше интересует на кой хер такая загадочная конструкция с `convert(c.val, signed) {$znaki[$sign]} $value`.
У меня к этому даже комментариев нет. Сам в замешательстве
bormand 08.08.2016 19:33 # 0
Dummy00001 08.08.2016 19:35 # +3
Dummy00001 08.08.2016 19:37 # +2
вот за это я идиотов и люблю: над ихними выхлопами часто приходится дольше думать чем над перлами гениев. ;-)
guesto 09.08.2016 03:00 # 0
тогда вопросов нет
bormand 08.08.2016 18:49 # 0
Мускуль не умеет в cast(c.val as integer)?
Dummy00001 08.08.2016 19:01 # 0
гугл говорит что те же яйца: дока на cast() тупо ссылается на доку на convert()
bormand 08.08.2016 19:02 # 0
Dummy00001 08.08.2016 19:16 # 0
pedarok 09.08.2016 17:08 # −3
Fike 09.08.2016 22:38 # +2
Shamill 09.08.2016 23:59 # +1