$date_sess_obj_arr = Sessions::model()->findAllBySql(‘SELECT Session_ID FROM Sessions WHERE CAST(Start_Time AS DATE) = ‘.$date.’ ORDER BY Session_ID DESC’);
в таком виде не работает. Точнее возвращает пустой массив.
Чувствую, что нужно через CDbExpression это делать, но не вполне понятно как.
Пробовал:
$date_sess_obj_arr = Sessions::model()->findAllBySql(‘SELECT Session_ID FROM Sessions WHERE’.new CDbExpression(‘CAST(Start_Time AS DATE)’).’ = ‘.$date.’ ORDER BY Session_ID DESC’);
Поздравляю, вы ответили на 1 уточняющий вопрос из 5. Прекрасный результат
Телепаты в отпуске.
Может быть проблема в отсутствии пробела внутри кавычки
$date_sess_obj_arr = Sessions::model()->findAllBySql('SELECT Session_ID FROM Sessions WHERE'. //<--вот тут
new CDbExpression('CAST(Start_Time AS DATE)').' = '.$date.' ORDER BY Session_ID DESC');
Ведь получается что то вроде "FROM Sessions WHERECAST(Start_Time AS DATE"
Я же просил вас предоставить текст SQL запроса, которые передается в findAllBySql. То что вы написали это РНР код, которые генерирует запрос, а мне нужен результат его работы, т.е. сам запрос, которые можно было бы получить:
$sql='SELECT Session_ID FROM Sessions WHERE'.new CDbExpression('CAST(Start_Time AS DATE)').' = '.$date.' ORDER BY Session_ID DESC';
echo $sql;
$date_sess_obj_arr = Sessions::model()->findAllBySql($sql);