当我尝试运行此查询时:
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(*)
。