如果在我的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中手动运行此查询时,它工作正常。

我究竟做错了什么?

提前致谢。

最佳答案

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

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


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

关于mysql - Laravel 4 Eloquent +原始查询返回NULL,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18908729/

10-16 13:54