1

events というテーブルがあり、開始日を日時形式で保存しています。

ただし、日付を次のようにフォーマットする必要が あるプラグインYYYY-MM-DDを使用しています。

したがって、日時の一部のみを選択し、基になるテーブル構造を変更したくありません。フェッチされている各レコードのフィールド データをフォーマットする方法はありますか? 私が尋ねる理由は、各レコードをもう一度調べて (現在のように) 1 つのフィールドをフォーマットするのは非効率的だと思われるからです。

$this->load->model('event_model');
$events = $this->event_model->get_all();

foreach ($events as $event) {
    $start = date('Y-m-d', strtotime($event->start));
    //add event to new event array     
}

$output = json_encode($events); // I would like to use the formatted date when using json_encode on $events. 

My Modelでcodeigniterを使用しています。

4

3 に答える 3

3

生成されたモデルに保存しないのはなぜですか?

例えば:

$this->load->model("event_model");
$events = $this->event_model->get_all();

foreach($events as $event){
  $event->mydate = date('Y-m-d',strtotime($event->start));
}

$events をビューに渡し、mydate プロパティを使用します。

于 2013-02-22T12:15:35.210 に答える
1

SQLコードで日付をフォーマットするだけです

于 2013-02-22T12:14:03.123 に答える
0
SELECT *,  FORMAT(start,'YYYY-MM-DD') as eventStart
FROM events

クエリ自体でフォーマットします。

于 2013-02-22T12:34:21.443 に答える