0

如果在我的 Place 模型中有这种关系:

public function openhours()
{
  return $this->hasOne('Hours')->select(DB::raw("IF(CURTIME() BETWEEN open_time AND close_time ,'Open','Closed')"));
}

在我的路线中:

 $place = Place::with('openhours')->where('id', '=', 5)->get();

我的桌子:

Table Name : hours
Fields : 
id          int(11)
place_id    int(11)
open_time   time
close_time  time

表记录:

id: 1
place_id: 5
open_time: 10:00:00
close_time: 17:00:00

它只是返回:

 openhours:null

当我在 phpmyadmin 中手动运行此查询时,它工作正常。

我究竟做错了什么?

提前致谢。

4

2 回答 2

2

将以下内容添加到您的 App:before 过滤器中,您将获得所有正在执行的查询和绑定的转储。

DB::listen(function($sql, $bindings, $time)
{
    var_dump($sql);
    var_dump($bindings);
});

不是答案,但它可能会帮助您了解雄辩的请求与您自己的 SQL 的比较。

于 2013-09-22T10:47:58.140 回答
1

你不需要更多像吗?

Place::find($id)->openhours();
于 2013-09-22T10:52:08.833 回答