Codeigniter 的点燃数据表在与 mysql 的 date_format 函数一起使用时返回无效的 SQL 查询



当我使用date_format时,它返回无效的sql查询

 $this->load->library('Datatables');
 $this->datatables->from('events');
 $this->datatables-select('id,event_name,event_location,DATE_FORMAT(event_start_date,"%b %d %Y, %h:%i %p") as evs,event_type_id,event_status');         echo
 $this->datatables->generate();

它返回

SELECT `id`, `event_name`, `event_location`, DATE_FORMAT(event_start_date, `"%b` %d %Y, `%h:%i` %p") as evs, `event_type_id`, `event_status` FROM (`events`) ORDER BY `event_name` asc LIMIT 10
$this->datatables-select('id,event_name,event_location,DATE_FORMAT(event_start_date,"%b %d %Y, %h:%i %p") as evs,event_type_id,event_status',FALSE);

查看github库,他添加了第二个参数第二个参数是可选的,无论是否添加回溯标记。将其设置为false,以便禁用backtick`。

这里面还有另一个问题,

var oTable = $('#dTableEvents').dataTable({
    "bProcessing": true,
    "bServerSide": true,
    "sAjaxSource": "/" + PROJECT_NAME + "events/get_all_events",
    "bJQueryUI": true,
    "sPaginationType": "full_numbers",
    "iDisplayStart ": 20,
    "bAutoWidth": false,
    "oLanguage": {
        "sProcessing": "<img src='/" + PROJECT_NAME + "public/images/ajax-loader.gif'>",
        "sLengthMenu": "Show _MENU_ Entries per Page",
        "sInfo": "Showing _START_ to _END_ of _TOTAL_ Entries per Page",
        "sInfoEmpty": "Showing 0 to 0 of 0 Entries per Page",
        "sInfoFiltered": "(filterred from _MAX_ total Entries per Page)"
    },
    "aoColumns": [
        {
            "mDataProp": "name",
            "bSearchable": true,
            "bSortable": true,
        },
        {
            "mDataProp": "start_date",
            "bSearchable": true,
            "bSortable": true,
        },
        {
            "mDataProp": "location",
            "bSearchable": true,
            "bSortable": true,
        },
        {
            "mDataProp": "type",
            "bSearchable": true,
            "bSortable": true,
        },
        {
            "fnRender": function (oObj) {
                return '<img alt="" src="/' + PROJECT_NAME + 'public/images/seven-rating.png">';
            },
            "mDataProp": "status",
            "bSearchable": false,
            "bSortable": true,
        }, 
        {
            "fnRender": function (oObj) {
               return '<input type="button" value="Edit" class="edit-btn" onclick="location='/'+PROJECT_NAME+'events/edit/' + oObj.aData['id'] + ''"> <input type="button" value="View" class="edit-btn" onclick="location='/'+PROJECT_NAME+'events/view/' + oObj.aData['id'] + ''">';
            },
            "mDataProp": "__action",
            "bSearchable": false,
            "bSortable": false,
        }
    ],
    "fnInitComplete": function () {
        //oTable.fnAdjustColumnSizing();
    },
    'fnServerData': function (sSource, aoData, fnCallback) {
        $.ajax({
            'dataType': 'json',
            'type': 'POST',
            'url': sSource,
            'data': aoData,
            'success': fnCallback
        });
    },
    "fnDrawCallback": function()
    {
        $('#dTableEvents tbody td:not(:nth-last-child(-n+1))').addClass('cont-grid bdr-rt-white');
        $('#dTableEvents tbody td:nth-last-child(-n+1)').addClass('cont-grid');
    }
});

当我在其中使用aoColumns时,搜索和排序将被禁用,当我删除aaColumns后,它将再次开始工作。

相关内容

最新更新