如何在 Yii 1.1 CGridView 上对通过连接查询检索到的数据实施过滤器

How to implement a filter on Yii 1.1 CGridView on data retrieved with join query

我正在尝试使用 'zii.widgets.grid.CGridView' 在管理视图上实施过滤器。

正如标题所说,数据是通过查询检索的(一个相当复杂的查询,它实际上有 6 个左连接),并为小部件提供了一个 CArrayDataProvider。

问题是小部件需要 class 来实现过滤器。有没有简单的方法来实现过滤器?我应该为此目的创建一个 class 吗?

我尝试了 this post 中建议的内容,但没有显示过滤器让我知道是否有效。

谢谢!

我找到了解决这个问题的方法。

我最终得到的是过滤器的 javascript/jquery 实现,使用 datatables package

<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 是包含“扩展模型”实例的数组。