amber

amber

FastAdmin 個人記録 - table で渡されるパラメータの変更

バックエンドの PHP の変更#

#通常、以下のコードを使用してコントローラーでリクエストパラメータを取得できます:
$filter = json_decode($this->request->get("filter", ''), true);
$op = json_decode($this->request->get("op", '','trim'), true);

#isset()関数を使用して特定のパラメータが存在するかどうかを判断し、unset()を使用して不要なパラメータを削除します。次に、

$filter[''] = '';
$op[''] = '';

#カスタムパラメータとクエリ条件を設定します。
#そして、再代入します:

$this->request->get(['filter' => json_encode($filter, true)]);
$this->request->get(['op' => json_encode($op, true)]);

list($where, $sort, $order, $offset, $limit) = $this->buildparams();

フロントエンドの table の JavaScript の変更#

table.bootstrapTable({
    url: $.fn.bootstrapTable.defaults.extend.index_url,
    pk: 'id',
    sortName: 'id',
    searchFormVisible: true,
    toolbar: '#toolbar',
    queryParams:function(params){
        let filter = JSON.parse(params.filter);
        let op = JSON.parse(params.op);
        
        //検索条件を再構築し、個人の要件に応じて変更します
        if (filter['status'] == undefined){
            filter['status'] = 0;
            op['status'] = '>';

            params.filter = JSON.stringify(filter);
            params.op = JSON.stringify(op);
            //console.log(params);
        }
        return params;
    },
    columns: [
        col
    ]
});
読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。