with()关联预载入的between time查询问题

浏览:778 发布日期:2018/06/15 分类:ThinkPHP5专区 关键字: Thinkphp5 with between time setEagerlyType belongsTo
发现一个问题,希望大神们帮忙验证一下,如果确实是个bug的话,希望官方能尽早完善。如果是我使用不正确,希望大神们给出正确使用方法。在此先表示感谢。
当通过with()进行联表查询的话如果条件中有between time时间区间查询的话会报错说with()关联预载入的表不存在。如下代码:
$list = $this->model
->with('user,level')
->where($where)
->order($sort, $order)
->limit($offset, $limit)
->select();

在model中通过关联预载入定义相对关联,如下:
public function user()
{
return $this->belongsTo('User','user_id','user_id')->setEagerlyType(0);
}

where条件如下:
$where = [
[
'user.create_time',
'BETWEEN time',
[
'2018-05-01 00:00:00',
'2018-05-31 23:59:59'
]
]
];

当搜索条件中有between time进行时间区间查询时会出现如下报错:
SQLSTATE[42S02]: base table or view not found: 1146 Table '库名.user' doesn't exist
可以看出表名没有前缀。
当前TP版本为5.0.20
最佳答案
评论( 相关
后面还有条评论,点击查看>>