如果在我的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中手动运行此查询时,它可以正常工作。
我做错了什么?
提前致谢。
答案 0 :(得分:2)
将以下内容添加到您的应用程序中:在过滤之前,您将获得正在执行的所有查询和绑定的转储。
DB::listen(function($sql, $bindings, $time)
{
var_dump($sql);
var_dump($bindings);
});
不是答案,但它可以帮助您了解雄辩请求与您自己的SQL的比较。
答案 1 :(得分:1)
你不需要更多像;
Place::find($id)->openhours();