-1

モデルGamelineとコントローラーGamelinesControllerとデータベース「gamelines」があります。このクエリを実行したい

ここに画像の説明を入力

つまり、2013-02-18 に属するレコードが 1 つあり、2013-02-25 に属するレコードが 2 つあるということです。

その後、ビュー内の各 g_time フィールドに属するカウントをループする方法を教えてください。

4

1 に答える 1

1

などの MySQL 関数を使用するフィールドの場合DATE()仮想フィールドを使用できます。あなたの場合、次のようなものを Gameline モデルに追加します。

public function __construct($id = false, $table = null, $ds = null) {
    parent::__construct($id, $table, $ds);
    $this->virtualFields = array(
        'date' => 'DATE(' . $this->alias . '.g_time)'
    );
}

そうすれば、フォーマットされた日付が仮想フィールドとして使用できるようになりますdate(そのように呼び出されたフィールドが既にある場合は、別の名前を使用してください)。

次に、find()操作で、新しい仮想dateフィールドを取得します。これらの結果をビューに出力するには、結果セットをループするだけです。find()結果を というビュー パラメータに格納すると$data、次のようにテーブルを表示するとします。

<table>
  <thead>
    <tr>
      <th>Date</th>
      <th>Count</th>
    </tr>
  </thead>
  <tbody>
    <?php foreach ($data as $row): ?>
    <tr>
      <td><?php echo $row['Gameline']['date']; ?></td>
      <td><?php echo $row['Gameline']['count']; ?></td>
    </tr>
    <?php endforeach; ?>
  </tbody>
</table>
于 2013-02-23T10:41:56.747 に答える