2012-05-30 3 views
0

У меня есть 3 стола.PHP Red Bean Не возвращает правильный результат

эпизода, сезона, Episode_Season

Я сделал вид, что такого

"CREATE VIEW episode_season_view AS SELECT * FROM episode 
INNER JOIN episode_season ON episode.id = episode_season.episode_id 
INNER JOIN season ON season.id = episode_season.season_id"; 

Какой кстати работает как шарм ... Теперь, когда я запускаю этот запрос в MysqlWorkbench

"SELECT * FROM season_episode_view 
WHERE first_aired > CURDATE() AND season_id = 600"; 

он возвращает правильный результат. Но когда я это сделать,

R::getRow("SELECT * FROM season_episode_view 
WHERE first_aired > ? AND season_id = ?", array(date('Y-m-d'), $season_id)); 

возвращает 0 строк ... и я не могу понять, почему?

+0

если я повернул знак> в другую сторону, поскольку <он дает мне самую старую дату ... но не наоборот. даже если существует более новая дата, а затем сегодняшняя дата, так как mysqlworkbenche возвращает 1 результат с тем же запросом – furier

+0

Является ли ваша дата в правильном формате? – vascowhite

ответ

0

Это только предположение, но вместо того, чтобы использовать функции даты в PHP, использовать функции Redbean в MySQL и, возможно, getAll():

$results=R::getAll("SELECT * FROM season_episode_view 
WHERE first_aired > ? AND season_id = ?", array(R::$f->curdate(), $season_id)); 

Если это не работает, вы можете попробовать встроенный запрашивая:

$row=R::$f->begin() 
    ->select('*')->from('season_episode_view') 
    ->where(' first_aired > ? AND season_id = ?')->put(R::$f->curdate(),$season_id) 
    ->get('row'); 

Только я могу думать, что столбец first_aired не любит PHP date() по какой-либо причине, возможно, из-за типа поля?

+0

Это 3.2+, только я верю. Старые версии могут не поддерживать функции '$ f' или новый синтаксис select. –

+0

getAll работал точно так же, как getRow, за исключением того, что он получил все эпизоды до сегодняшней даты, а ни один для новее, изменив оператор < >. Также я не получил R :: $ f-> begin(), чтобы вернуть что-либо вообще, и я получил версию 3.2+ – furier

+0

T_T Мне нужно решить эту проблему, или весь мой проект становится бесполезным ... – furier