讲解laravel用clickhouse查询问题及注意事项是什么
发布时间:2023-02-08 08:47 所属栏目:121 来源:互联网
导读:这篇文章主要讲解了laravel用clickhouse查询问题及注意事项是什么,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习laravel用clickhouse查询问题及注意事项是什么吧! 下面由Laravel教程栏目给大家介绍关于在l
这篇文章主要讲解了“laravel用clickhouse查询问题及注意事项是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“laravel用clickhouse查询问题及注意事项是什么”吧! 下面由Laravel教程栏目给大家介绍关于在laravel中使用clickhouse查询引起的“DB::Exception: Missing columns”问题,希望对大家有所帮助! 使用 clickhouse 尤其注意:不能这么写! $where = []; if($cookieId) { $where['cookie_id'] = $cookieId; } if($host) { $where['host'] = $host; } if($uri) { $where['uri'] = $uri; } $builder = DB::connection('clickhouse') ->table((new AccessLogs)->getTable()) ->where($where); if(!empty($startTime)) { $builder->where('create_time', '>=', $startTime); } if(!empty($endTime)) { $builder->where('create_time', '<=', $endTime); }登录后复制 当多个条件查询时,$where 数组在 sql 中会被当成一个字段,从而导致 DB:: Exception: Missing columns: ‘2022-09-27 13:00:49’ ‘2022-09-27 16:00:49’ while processing query 的错误。 这样优化: $builder = DB::connection('clickhouse') ->table((new AccessLogs)->getTable()); if(!empty($cookieId)) { $builder->where('cookie_id', $cookieId); } if(!empty($host)) { $builder->where('host', $host); } if(!empty($uri)) { $builder->where('uri', $uri); } if(!empty($startTime)) { $builder->where('create_time', '>=', $startTime); } if(!empty($endTime)) { $builder->where('create_time', '<=', $endTime); }登录后复制 才能正确查询。 多提一句:在命令行查询时,参数值使用单引号,使用双引号时,参数值也会被当成一个字段: 正确操作是: select * from access_log where create_time >= ‘2022-09-27 13:00:49’ and create_time <= ‘2022-09-27 16:00:49’ order by create_time desc limit 10; 以上就是关于“laravel用clickhouse查询问题及注意事项是什么”的介绍了,感谢各位的阅读,希望这篇文章能帮助大家解决问题。 (编辑:ASP站长网) |
相关内容
网友评论
推荐文章
热点阅读