如何格式化提取的每一行的数据?(Codeigniter,My_Model)


How do I format data for each row fetched? (Codeigniter, My_Model)

我有一个名为events的表,我将开始日期存储为日期时间格式。

然而,我正在使用一个插件,该插件要求将日期格式化为:CCD_ 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. 

我在我的模型中使用代码点火器。

为什么不直接存储到生成的模型中?

例如:

$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属性。

只需在sql代码中设置日期格式即可

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

在查询本身中设置它的格式。