Упорядочить по количеству кохана и считать
У меня есть запрос orm, как это:
$userCountries = ORM::factory('User')
->select(array(DB::expr('countries.code, COUNT("countries.id") as total')))
->join('countries')
->on('user.country_id', '=', 'countries.id')
->group_by('country.name')
->order_by('total', 'DESC')
->find_all();
То, что я хочу, это код страны с общим количеством пользователей из страны.
Я не знаю, что здесь не так. Я потратил на это 3 часа безуспешно.
Что не так с этим запросом?
1 ответ
Ваш SELECT Params неверен->select('countries.code', array(DB::expr('COUNT("countries.id")', 'total')))
Я думаю, что Группа должна быть ->group_by('countries.name') instead of ->group_by('country.name')
Таким образом, ваш общий запрос будет выглядеть
$userCountries = ORM::factory('User')
->select('countries.code', array(DB::expr('COUNT("countries.id")', 'total')))
->join('countries')
->on('user.country_id', '=', 'countries.id')
->group_by('countries.name')
->order_by('total', 'DESC')
->find_all();`
Проверь это...