Mysql
 sql >> база данни >  >> RDS >> Mysql

Laravel 5.3 различен брой, използвайки eloquent вместо Query Builder

Заявката, която правите, не е правилна за случая на употреба, можете да видите разликата.

select count(*) as aggregate from game_results 
where (school_id is null and season_id = '1') 
group by user_id order by user_id asc;

ще върне два реда

aggregate
1,
2

Eloquent избира първо и връща, което е 1.

select count(*) as aggregate from game_results 
where (school_id is null and season_id = '1') 
group by user_id order by user_id desc;

ще върне редове като

agrregate
2,
1

Eloquent ще доведе до 2 в този случай.

Това, което искате, е брой (заявка), който отново ще бъде 2.

Получавате ли? това, което искате, е ОТЛИЧНО

$usersWithAnswersCount = GameResult::where([
    'school_id' => null,
    'season_id' => $this->season->id 
])
->distinct('user_id')
->count();


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Защо кодът в успешното извикване на AJAX не работи?

  2. Две таблици с еднакви колони или една таблица с допълнителна колона?

  3. Изтрийте записи от таблица, където <максимален брой за поле и запазете най-високия номер

  4. Как да пренасочвам към различна страница по тип потребител в php и mysql

  5. MySQL - Търсете в персонализирана колона