问题标签 [cactivedataprovider]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
587 浏览

php - 属性 CActiveDataProvider.Select 在 YII 中未定义

我有一个名为 Activity 的模型,其中 search() 定义如下。但我想不出为什么当我这样称呼它时会提示这个错误..

未定义内部服务器错误属性“CActiveDataProvider.select”。

调用方式..

//获取数据 $model = new $modelName(); if ($modelName === "活动") $criteria = $model->search(); 否则 $criteria = unserialize(base64_decode($criteria));

我在这里做错了什么?谁能帮我解决这个问题

0 投票
1 回答
196 浏览

php - Yii CActiveDataProvider 基于item属性的不同_item视图

我正在使用 CActiveDataProvider 填充显示用户之间消息的网页。我有一个使用'zii.widgets.CListView' 和CActiveDataProvider 的视图php 文件。

我正在使用部分 _item.php 文件来呈现每条单独的消息。事情是当前每条消息在每条消息上方用实线呈现,由 _item.php 文件指定。

我只想在之前显示的消息来自其他用户时才显示此行。我认为要做到这一点,我需要能够从数据提供者那里获取有关前一项(或下一项)的信息。我该如何做到这一点?

它看起来像什么:


用户 1: foobar blah blah


用户 2:asdlkfj;ajd


用户 2:aljs;dfjlkjk

我希望它看起来像什么:


用户 1: foobar blah blah


用户 2:asdlkfj;ajd

用户 2:aljs;dfjlkjk

这是我的控制器的样子:

0 投票
1 回答
614 浏览

php - Yii 从 CListView 部分访问前一个数据项

我正在使用 CActiveDataProvider 和 CListView 来输出名称列表。仅当名称与之前的名称相同时,我才想使用 html 将名称加粗。这些不是数据库中相同的行,只有“名称”属性相同。

例如,我想要以下内容:
Bob
Rick
Steve
Rick
Rick
George

由于我使用的是 CListView,因此我正在使用来自 $data 的信息创建部分视图,其中包含当前列表项。如何访问上一个列表项的属性?

感谢 Yii 世界的退伍军人!

0 投票
2 回答
1711 浏览

php - 使用 Yii ActiveRecord 遍历一个大表 - “内存不足”错误

我在 Yii 框架上有一个网站,我想在表格中搜索匹配的单词。

我不断得到"out of memory"(这是一张大桌子)。

我尝试了这段代码,但它一直在加载页面

所以我尝试了这段代码,但它一直将结果限制为 10:

如果我这样做,我会收到“内存不足”消息:

0 投票
1 回答
1479 浏览

yii - Yii 使用 CDbCriteria 和 CActiveDataProvider 与自定义搜索连接

您好我正在使用 Yii 创建一个应用程序

我已经修改了模型中的 search() 并且我想出了一个问题。

用户可以以管理员、经理、客户的身份登录

当用户作为经理登录时,他只能从他们都属于的商店查看客户。到目前为止一切顺利,我已经设法做到了。

现在的问题是当我试图阻止经理在 CGridView 中查看来自同一商店的其他经理(并因此编辑彼此的帐户)时。

关系

自定义模型搜索

这是我得到的错误

我知道这与 gii 为我建立的关系有关,但我无法确定。

也许 authitems 的 MANY_MANY 关系会阻止加载用户关系?

0 投票
5 回答
2617 浏览

php - Yii 分页显示的项目比可用的少

我有一个从 CActiveDataProvider 提供的简单 CGridView。目前,我不确定这已经发生了多长时间,它不会在启用分页的视图中显示所有数据项。

我的标题显示“显示 9 个结果中的 1-7 个”,但没有更多页面的按钮。如果我将数据提供者的 pagenation 属性的 pageSize 设置为一个较小的数字,我最终将获得分页按钮,但它似乎在第一页上显示的项目比第二页少。例如,如果我将 CActiveDataProvider 的 pageSize 设置为 3,我会得到 2,2,3(每页上的项目),而不是我预期的 3,3,1。

如果我将 pageSize 设置为介于 9 和 11 之间的任何值(包括 9 和 11),则有些项目我看不到,因为我只看到一页并且并非所有项目都显示(如果我将 pageSize 设置为 9,则为“1-6 of 9”)。

任何人都知道什么会导致分页如此不稳定?

编辑:此外,将 CActiveDataProvider 更改为 CArrayDataProvider 工作正常,我得到 9 个结果中的 9 个。这暂时可行,因为我的数据集很小,但我宁愿弄清楚问题可能是什么。

0 投票
2 回答
129 浏览

php - Yii 标准参数数组和 strstr 函数

我有这个标准参数数组(我试试这个,但它不起作用):

我需要添加一个strstr功能,params我该怎么做?

提前感谢

0 投票
1 回答
343 浏览

yii - 按虚拟属性对 ActiveDataprovider 进行排序

房主发布工作。工作由 Tradesman 执行。房主通过审查来审查工作的执行方式(基本上他们对商人进行评级)。

Homeowners 和 Tradesman 都是由角色 id 区分的模型 User 的实例,除了 User 我还创建了一个 Job 和一个 Review 模型。评论除了标题和描述外,还包括 6 个不同的评级实体,等级为 1 - 10(灵活性、思维、约会、友好性、性价比和质量)。Job 的平均评分是这 6 个实体的总和除以 6。

评论通过以下关系与工作相关;

工作审查

工作通过以下关系与房主(用户)相关:

以及他发布的工作的房主(用户):

工作与他的商人(用户)的关系如下:

以及他从事的工作的商人(用户):

好的,我想做的是创建一个 Tradesman 列表,并根据他们的评级对它们进行排序。我在我的 userController 文件中创建了以下数据提供程序:

"active" 和 "isTradesman" 是过滤具有 Tradesman 角色的活跃用户的范围。

在 Review 模型中,我创建了一个方法:

所以,每份工作我可以得到平均分。我也试图通过这样的关系来获得这个分数:

我也通过 STAT 关系尝试了它,但我无法让它工作,所以我选择了getScore()方法方法。

现在我必须在商人的基础上计算所有这些分数,并将它们除以他/她执行的工作数量。然后我想userController::actionIndex()按这个值对 dataProvider 进行排序。这可以做到吗?如果可以,怎么做?

0 投票
1 回答
1032 浏览

php - Yii 数据提供者分页如何制作人类 url?

我正在使用以下内容设置分页变量:

并添加到主配置规则:

网址/myrule/page/1/myrule/?page=1工作。但是,分页会生成/myrule/?page=1. 如何/myrule/page/1从分页中获取 URL?

0 投票
1 回答
1173 浏览

caching - Yii 如何在 CActiveDataProvider 中缓存

我想缓存 CActiveDataProvider 实例的数据库结果。

没有缓存CActiveDataProvider?还是一切正常?

我在控制器的操作中准备数据提供程序,然后在 CGridView 中使用数据提供程序,稍后在某些视图中使用。

这是我的代码:

但无济于事:查询没有被缓存。