0

我有 3 张桌子。

剧集,季节,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 行...我不明白为什么?

4

1 回答 1

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(),可能是由于字段类型?

于 2012-05-30T20:40:00.057 回答