2013-02-22 37 views
1

我有一個名爲events的表,我在開始 date datetime格式。如何爲獲取的每行格式化數據? (Codeigniter,My_Model)

但是,我使用plugin,要求日期格式爲: YYYY-MM-DD

因此,我只想選擇日期時間的一部分,但不修改下表結構。有沒有一種方法來格式化每條記錄的字段數據?我問的原因是因爲再次瀏覽每條記錄似乎效率低下(像我現在這樣)並且格式化一個字段。

$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. 

我使用codeigniterMy Model

回答

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)); 
} 

現在通過你的$事件的看法和使用指明MyDate財產。

+0

就像答案。我已經更新了我的問題,以包含我遺漏的內容。 – Sheldon 2013-02-22 12:23:10

+0

如果你想使用start屬性,那麼在循環中用'$ event-> start'改變'$ event-> mydate'。然後所有'$ events'都會有'start'屬性格式化。 – Oden 2013-02-22 12:35:59

1

只需在您的sql代碼中格式化您的日期

0
SELECT *, FORMAT(start,'YYYY-MM-DD') as eventStart 
FROM events 

將其格式化爲查詢本身。

相關問題