如何在Yii 1.1 CGridView上实现一个过滤器来过滤通过join查询获取的数据

bqujaahr  于 2022-11-09  发布在  其他
关注(0)|答案(1)|浏览(116)

我正在尝试使用'zii.widgetts.grid.CGridView'在管理视图上实现一个过滤器。
正如标题所说,数据是通过查询(一个相当复杂的查询,实际上有6个左连接)检索的,并提供给小部件一个CArrayDataProvider。
问题是小部件需要一个类来实现过滤器。有没有简单的方法来实现过滤器?我应该只为这个目的创建一个类吗?
我尝试了什么是sugested在this post,但没有显示过滤器,我知道如果工作。
谢谢你,谢谢你

z9gpfhce

z9gpfhce1#

我找到了一个解决这个问题的办法。
我最终得到的是一个使用datatables package的过滤器的javascript/jquery实现。

<table class="table table-striped table-hover" id="extendedTable">
    <thead>
    <tr>
        <th>a_name</th>
        <th>b_name</th>
        <th>c_name</th>
    </tr>
    </thead>
    <tbody>
    <?php foreach ($myData as $data) { ?>
        <tr>
            <th><?php echo $data["a_name"]; ?></th>
            <th><?php echo $data["b_name"]; ?></th>
            <th><?php echo $data["c_name"]; ?></th>$data["g_id"]); ?></th>
        </tr>
    <?php
    } ?>
    </tbody>
</table>

<script>
    $(document).ready(function() {
        $('#extendedTable').DataTable(
            {
                dom: '<"clear">lfrtip',
                "paging": true,
                "ordering": true
            }
        );
    });
</script>

其中,a、B和c是某些表的别名,$myData是包含“扩展模型”示例的数组。

相关问题