gpt4 book ai didi

php - Kohana DB 表达式未返回正确的结果

转载 作者:行者123 更新时间:2023-11-29 06:45:38 26 4
gpt4 key购买 nike

有人可以解释一下如何让第一个查询返回与第二个查询相同的结果吗?对于计数为 0 的任何列,第一个查询返回 1 而不是 0。第二个查询工作正常。我很确定这是 COUNT() 语句的问题。

$lists = DB::select('favorites_lists.*', array(DB::expr('COUNT("favorites.list_id")'), 'total_favs'))
->from('favorites_lists')
->join('favorites', 'LEFT')
->on('favorites_lists.id', '=', 'favorites.list_id')
->where('favorites_lists.uid', '=', $user->id)
->group_by('favorites_lists.id')
->execute()
->as_array();

$lists = DB::query(
Database::SELECT,
'SELECT favorites_lists.*, COUNT(favorites.list_id) as total_favs
FROM favorites_lists
LEFT JOIN favorites
ON favorites_lists.id = favorites.list_id
WHERE favorites_lists.uid = ' . $user->id . '
GROUP BY favorites_lists.id'
)
->execute()
->as_array();

最佳答案

DB::select('favorites_lists.*', array(DB::expr('COUNT("favorites.list_id")'), 'total_favs'))

这个数组有什么用?我通常这样写查询。

DB::select('favorites_lists.*',DB::expr('COUNT("favorites.list_id") AS total_favs'))

关于php - Kohana DB 表达式未返回正确的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18829950/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com