Laravel分页无法构建正确的查询


Laravel pagination fails in building the correct query

当我尝试运行此查询时:

SELECT CONCAT(`user`.`firstName`,' ',`user`.`lastName`) AS `fullName`" 
FROM `user`
WHERE `fullName` LIKE '%a%'

使用User模型,Laravel在运行我的查询之前自己发送以下查询:

SELECT COUNT(*) AS AGGREGATE
FROM `user`
WHERE `fullName` LIKE '%a%'

导致CCD_ 2异常。拉拉维尔怎么了?如何运行关于此问题的上述查询?

在这种情况下,恐怕您应该使用手动分页,或者将主查询重建为这样的内容:

SELECT CONCAT(`user`.`firstName`,' ',`user`.`lastName`) AS `fullName` 
FROM `user`
WHERE CONCAT(`user`.`firstName`,' ',`user`.`lastName`) LIKE '%a%'

否则,当Laravel创建查询来计算行数时,它将不知道什么是fullName列(因为在生成查询来计算行号时不使用列,所以在该查询中只使用count(*)