2

私は問い合わせシステムを行っており、作成されたすべての問い合わせに日付スタンプ (時間ではなく) を付けたいと考えています。これをどのように行うのか疑問に思っています。私は、現在の日付を取得してからデータを保存することから始めると思いますか? 申し訳ありませんが、私はこれに慣れていません:/

4

2 に答える 2

5

これは、CakePHP では非常に簡単です。

1) データベースの照会テーブルに「作成済み」フィールドを追加し、タイプを Datetime にします。

2) 2 はありません。CakePHP は、新しいレコードが保存されるたびに、フィールドに現在の日付を自動的に入力します。

注: 「変更された」日時フィールドを追加することもできます。作成済みと同様に、レコードが変更および保存されるたびに自動的に更新されます。

于 2013-08-16T00:44:56.287 に答える
0

テーブルに datetime タイプの「created」という名前のフィールドを作成するだけで、cake がその仕事をしてくれます。このケースの形式は「YYYY-MM-DD HH:MM:

CakePHP TimeHelperを使用して、出力用にその日付を好きなようにフォーマットできます。それが難しい要件の場合は、タイムスタンプとしても。

または、タイムスタンプとして別のフィールドが必要な場合、およびコントローラーでそれを行う場合:

$this->request->data['ModelName']['timestamp'] = time();
$this->ModelName->save($this->request->data);

ベスト プラクティス: データ操作はすべてモデル内で行う必要があります。

$this->data[$this->alias]['timestamp'] = time();
$this->save($this->data);

モデルで beforeSave() コールバックを使用して、そこにフィールドを設定すると、自動的に行われます。作成時にのみ実行したい場合は、チェックを追加する必要があります。

于 2013-08-16T00:55:04.383 に答える