- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在用 Yii (v1.1.12) 编写我的第一个应用程序,学习曲线对我来说有点陡峭,所以我需要一些帮助。
设想以下表格(及其关系):
user
是包含可以登录和使用应用程序的用户信息的表。
我已经设法(使用 Gii 和 hacking about)一个列出所有文档的 View ,并且还设法在网格中显示类别名称而不是类别 ID。
我想要实现的功能之一是允许用户切换 View ,以便 (a) 仅列出与登录用户相关的文档,或 (b) 仅列出与其部门相关的文档。
我环顾四周,但运气不佳。谁能帮忙?
干杯,乔治
更新:目前我使用 zii.widgets.grid.CGridView
显示文档列表。
更新 2: 根据 Omar 对 CDbCriteria
的引用,我找到了 this包含有关该主题的更多详细信息的 URL。
我想出了以下模型代码,效果很好:
public function searchByUser($user_id)
{
$criteria=new CDbCriteria;
$criteria->condition = " user_id = ".$user_id;
return new CActiveDataProvider($this, array(
'criteria'=>$criteria,
));
}
public function searchByDepartment($user_id)
{
$criteria=new CDbCriteria;
$criteria->alias="p";
$criteria->join = "JOIN (SELECT u.id
FROM user u
INNER JOIN user uu
ON u.department_id = uu.department_id
WHERE uu.id = ".$user_id.") uu
ON p.user_id = uu.id";
return new CActiveDataProvider($this, array('criteria'=>$criteria,));
}
虽然上面的工作按预期进行,但我希望有一个完全不需要我编写精简 SQL 代码的解决方案。不是因为懒惰,而是为了利用框架的更多功能。
我只是觉得这种方法没有遵循最佳实践(?)。
最佳答案
尝试创建您自己的 CDBCriteria
并在其中定义任何条件,并将其作为数据提供者传递给您的 GridView 。
如果您允许在 GridView 中进行搜索,请将条件传递给搜索函数,然后在其中将传递的条件与搜索中的条件合并。
关于php - Yii-CGridView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13345949/
我正在使用 yii-booster(4.0.1) TbGridView(extends CGridView) 并且需要更改 _REQUEST($_POST, $_GET) 中的过滤器变量名称以实现过滤
我的数据库中有 3 个表, 图片如下,我已关注 http://www.yiiframework.com/wiki/281/searching-and-sorting-by-related-model-
在我的项目中,我使用 cgridview 来显示一些信息并使用使用 cgrid View 构建的分页。但现在我正面临分页的可用性问题。也就是说,考虑我有 3 页,分页看起来像 >> . 当我点击第三
我在 Controller 的索引操作中有这些代码: public function actionIndex() { $cid = @$_GET['cid']; $country = Coun
听起来很简单,对吧?我搜索了高低,我不知道如何做到这一点。我有一个 CGridView: $dataProvider = new CArrayDataProvider ($auctions); $th
我希望删除按钮仅在 CGgridView 中的特定条件下处于事件状态CButtonColumn (或制作自定义删除按钮)例如,如果 user=='admin'或 status=='draft' .有任
我想设置一个 CGridView。我希望在一个 View 中显示来自 2 个不同表的数据。数据来自一个名为 student 的表和另一个名为 employee 的表。 员工由学生推荐(reg_no)
默认情况下,删除按钮将自己分配给此功能: jQuery('#main-orders-details-grid a.delete').live('click',function() { if(!
我有两个关系表:location 和 location_types。 位置 - location_id - location_name - location_type_id Locatio
我正在尝试按category_id过滤gridview中的产品记录 我有三张 table ProductMst(product_id,name) CategoryMst(category_id,cat
我有一个CGridView,它在给定模型上调用search(AFAIK)来获取要显示的模型列表。是否可以通过调用 $model->some_method() 的结果对所述 View 的结果进行排序?
问:如何为我的 gridview 创建过滤器? 状态:客户姓名 = first_name。姓氏 这是我的 GridView widget('zii.widgets.grid.CGridView', a
我需要使用自定义文本字段过滤 CGridView。我有自定义数据提供者(CSqlDataProvider),我返回并用它填充表格。表格很好,但对我来说似乎很痛苦的是过滤它。我已经花了几个小时试图解决这
我正在用 Yii (v1.1.12) 编写我的第一个应用程序,学习曲线对我来说有点陡峭,所以我需要一些帮助。 设想以下表格(及其关系): 详细 (n:1) 文档 文档 (n:1) 用户 用户(n:1)
我已将我的 yii CGridview 的一列作为超链接。但是单击它时,它会在同一选项卡中打开链接地址。如何在新标签页中打开链接地址? array( 'header'=>'Name',
有 enableSorting 标志,如果等于 false,则禁用所有网格列的排序。但是我怎么能只针对一个特定的列做到这一点呢? 最佳答案 试试这个 'sortable'=>false, 这是例子,
我有带分页的简单 Yii cgridview 代码。分页工作正常,但在最后一页我遇到了一个问题。 例如,如果我在 DB 表中有 13 条记录,并将分页设置为每页 10 页,那么对于第一页它将显示 “1
我有一个带有 has_many 关联的模型。 假设学生有很多类(class)。 我想使用 CGridView 显示特定学生的所有类(class)。 像这样的东西: $this->widget('zii
在我的项目中,名为 的模型之一类型 与其他模型有多重关系,部分标准低于其类似 $criteria->with = array( 'category',
如您所知,在 CGridView 中有允许过滤数据的文本框。如何向这些文本框添加类,例如: 最佳答案 取自the forum : $this->widget('zii.widgets.grid.CGr
我是一名优秀的程序员,十分优秀!