[英]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%'
導致SQLSTATE[42S22]: Column not found: 1054 Unknown column 'userFullName' in 'where clause
異常中的SQLSTATE[42S22]: Column not found: 1054 Unknown column 'userFullName' in 'where clause
。 Laravel有什么問題? 如何針對此問題運行以上查詢?
恐怕在這種情況下,您應該使用手動分頁或將主查詢重建為類似以下內容:
SELECT CONCAT(`user`.`firstName`,' ',`user`.`lastName`) AS `fullName`
FROM `user`
WHERE CONCAT(`user`.`firstName`,' ',`user`.`lastName`) LIKE '%a%'
否則,當Laravel創建查詢以計算行數時,它將不知道fullName
列是什么(因為在生成查詢以計算行數時不使用列,因此此查詢中僅使用count(*)
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.