monken/tablesigniter

CodeIgniter4 入门应用

v1.2.1 2021-05-02 17:02 UTC

This package is auto-updated.

Last update: 2024-09-29 05:30:04 UTC


README

Latest Stable Version Total Downloads License

Tableslgniter 是一个基于 CodeIgniter4 的插件。它将帮助您在服务器端模式下使用 jQuery Datatables。

如果您想获取 Tableslgniter 的 CodeIgniter3 版本,您可以访问这个 git 仓库

访问示例网站并阅读用户指南。

TablesIgniter 基于 CodeIgniter4。它将可以帮助您在服务器端模式下使用 jQuery Datatables。

如果您希望获取 CodeIgniter3 版本的 Tableslgniter,您可以前往这个 git 仓库

访问示例网站与使用指南

安装

先决条件

  1. CodeIgniter 框架 4.*
  2. Composer

Composer 安装

composer require monken/tablesigniter

使用库

在将使用 TablesIgniter 的控制器中声明以下代码。

use monken\TablesIgniter;

快速入门

HTML

<table id="firstTable">
    <thead>
        <tr>
            <th>id</th>
            <th>title</th>
            <th>date</th>
        </tr>
    </thead>
</table>

JavaScript

$('#firstTable').DataTable({
    "aoColumnDefs": [{ 
        "bSortable": false,
        "aTargets": [ 0,1,2 ] 
    }],
    "order":[],
    "serverSide":true,
    "searching": false,
    "lengthChange":false,
    "ajax":{
        url:"<?=base_url('home/firstTable')?>",
        type:'POST'
    }
});

控制器

public function firstTable(){
    $model = new HomeModel();
    $table = new TablesIgniter();
    $table->setTable($model->noticeTable())
          ->setOutput(["id","title","date"]);
    return $table->getDatatable();
}
  1. 调用 "setTable()" 方法时,必须传递一个 Query Builder 对象。TablesIgniter 依赖于该对象定义的数据库查询内容。此对象通常在模型中声明。

  2. 在调用 "setOutput()" 方法时,必须传递一个数组。数组的顺序将影响 DataTables 显示数据的顺序。字符串的定义必须与 "setTable()" 查询的结果字段名相同。

  3. 调用 "getDatatable()" 将获取满足 jQuery DataTables 要求的 json 字符串。

模型

public function noticeTable(){
    $builder = $this->db->table("news");
    return $builder;
}

您可以使用所有 Query Builder 方法来满足所有数据库查询的要求。最后,您必须返回 Query Builder 生成的对象。