<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ## setTableName('數據庫表名') | 版本 | 更新內容 | | --- | --- | | 1.0.7 | 支持使用模型 | 默認情況下,批量操作或者右側的啟用、禁用,其他快捷操作會去修改”`當前模塊名_當前控制器名`“的數據表,如果需要額外指定,可以使用`setTableName`方法。 ~~~ // 使用ZBuilder快速創建數據表格 return ZBuilder::make('table') ->setTableName('admin_user') // 指定數據表名 ->fetch(); // 渲染頁面 ~~~ >[danger] 注意:數據表名無需填寫表前綴 ### 使用模型 默認情況下,“啟用”、“禁用”、“快速編輯”等默認操作,都是使用Db類來操作數據。從1.0.7版本開始,支持使用自定義模型來操作數據。 以角色管理控制器為例,路徑為:`application\user\admin\Role.php` 即,模塊為`user`,控制器為`role`,要操作的表為`admin_role`,默認我們創建表格是這樣寫的 ~~~ public function index() { // 獲取查詢條件 $map = $this->getMap(); // 數據列表 $data_list = RoleModel::where($map)->paginate(); // 使用ZBuilder快速創建數據表格 return ZBuilder::make('table') ->setTableName('admin_role') // 設置表名 ->setSearch(['name' => '角色名稱', 'id' => 'ID']) // 設置搜索參數 ->addColumns([ // 批量添加列 ['id', 'ID'], ['name', '角色名稱'], ['description', '描述'], ['create_time', '創建時間', 'datetime'], ['access', '是否可登錄后臺', 'switch'], ['status', '狀態', 'switch'], ['right_button', '操作', 'btn'] ]) ->addTopButtons('add,enable,disable,delete') // 批量添加頂部按鈕 ->addRightButtons('edit,delete') // 批量添加右側按鈕 ->setRowList($data_list) // 設置表格數據 ->fetch(); // 渲染模板 } ~~~ 因為模塊為`user`,控制器為`role`,而我們要操作的表不是`user_role`而是`admin_role`,所以我們需要用setTableName()方法來設置正確的表名。 這里我們無論是使用快速編輯還是刪除、禁用、啟用,都是用Db類來操作數據的。 如果希望用模型來操作數據,那可以這樣寫: ~~~ ->setTableName(true) ~~~ 表名設置為`true`,則框架會優先實例化“當前模塊名/當前控制器名”這個模型,如上面的會實例化`user`模塊下`role`模型(即`application\user\model\Role.php`這個文件)。 如果想指定模型,可直接輸入模型參數,并且`setTableName`的第二個參數設置為true,如: ~~~ ->setTableName('role', true) ~~~ 這樣表示使用`model('user/role')`來處理,如果不指定模塊,則默認是當前模塊。 也可以指定完整的模型類,如: ~~~ ->setTableName('admin/role', true) ~~~ 表示使用`model('admin/role')`來處理數據。 除了可以設置第二個參數為true之外,也可以設置0,1,2三種中的一種 | 參數 | 含義 | | --- | --- | | 0 | 表示使用Db::table()實例化(不加表前綴) | | 1 | 默認類型,表示使用Db::name()實例化(自動加表前綴) | | 2 | 表示使用model()實例化 | | true | 表示使用model()實例化,作用和參數2相同 | ~~~ ->setTableName('role', 0) // 表示使用Db::table('role') ~~~ ~~~ ->setTableName('role', 1) // 表示使用Db::name('role') ~~~ ~~~ ->setTableName('role', 2) // 表示使用model('user/role') ~~~ ~~~ ->setTableName('admin/role', 2) // 表示使用model('admin/role') ~~~ 等同于 ~~~ ->setTableName('admin/role', true) // 表示使用model('admin/role') ~~~ ### 需要注意的地方 setTableName方法雖然可以設置使用哪種方式來操作數據,但它的作用是可以被addRightButton或者addTopButton方法所覆蓋的。 ~~~ // 使用ZBuilder快速創建數據表格 return ZBuilder::make('table') ->setTableName('admin_role') // 設置表名 ->addRightButton('delete') // 批量添加右側按鈕 ->fetch(); // 渲染模板 ~~~ 這種情況下,默認是使用`Db::name('admin_role')`來操作數據的。 如果我們在添加右側按鈕的時候,指定了表名,則優先使用右側按鈕參數所設置的類型。 ~~~ // 使用ZBuilder快速創建數據表格 return ZBuilder::make('table') ->setTableName('role', true) // 設置表名 ->addRightButton('delete', ['table' => 'admin_role']) // 批量添加右側按鈕 ->fetch(); // 渲染模板 ~~~ 我們可以看到,雖然上面使用了`->setTableName('role', true)`指定使用實例化模型方式操作數據,但右側按鈕的刪除指定了表名,則刪除按鈕的時候,默認還是會使用`Db::name('admin_role')`來操作數據。 當然,也可以指定其他類型,如: ~~~ // 使用ZBuilder快速創建數據表格 return ZBuilder::make('table') ->setTableName('role', true) // 設置表名 ->addRightButton('delete', ['table' => 'admin_role', 'prefix' => 0]) // 批量添加右側按鈕 ->fetch(); // 渲染模板 ~~~ 點擊刪除按鈕時,使用`Db::table('admin_role')`來操作數據。 >[info] 即,如果添加右側按鈕,或者頂部按鈕時,指定了表名,則會忽略setTableName方法所設置的內容。 >[danger] ### 注意,當添加右側或頂部按鈕時,指定了表名,沒有指定prefix參數時,setTableName方法的位置會影響實際的操作類型。 ~~~ // 使用ZBuilder快速創建數據表格 return ZBuilder::make('table') ->setTableName('role', true) // 設置表名 ->addRightButton('delete', ['table' => 'admin_role']) // 批量添加右側按鈕 ->fetch(); // 渲染模板 ~~~ 這樣寫法,表示刪除按鈕使用`model('user/admin_role')`來操作數據,因為`setTableName`先執行,它設置了操作模式為模型方式,而`addRightButton`方法沒有指定prefix參數,則會使用`setTableName`方法所指定的類型操作。但如果`setTableName`方法放在添加按鈕的后面,則效果就不一樣了。 ~~~ // 使用ZBuilder快速創建數據表格 return ZBuilder::make('table') ->addRightButton('delete', ['table' => 'admin_role']) // 批量添加右側按鈕 ->setTableName('role', true) // 設置表名 ->fetch(); // 渲染模板 ~~~ 表示使用`Db::name('admin_role')`來操作數據,因為在生成按鈕時, `setTableName`方法還未執行,所以就使用了默認的操作類型。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看