1

私にはクラスがあり、各クラスには学生が含まれています。各クラスの生徒数を含むテーブルを取得したい。この場合、どのように見つけますか:

$nums = $this->Student->find('count', array( 'group' => 'Student.Class_id'));

この結果は正しくありません

4

1 に答える 1

1

アーカイブするにはいくつかの方法があります。

  1. すべて検索で仮想フィールドを使用する

    $this->Student->virtualFields = array('count' => 'COUNT(Student.' . $this->Student->primaryKey .')');
    $this->Student->find("all", array('fields' => 'count', 'group' => 'Student.Class_id'));
    
  2. カスタム クエリを作成する

    $this->Student->query("SELECT COUNT(Student.{$this->Student->primaryKey}) as 'count' FROM students Student GROUP BY Student.Class_id");
    
于 2015-04-08T20:40:27.693 に答える