问题标签 [scopes]

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 回答
37 浏览

ruby-on-rails - 访问合并范围中的关联字段

模型:输入了车辆有_many 里程读数(在这种特殊情况下,车辆在小时计上运行)。

在视图中,我需要显示为每辆车输入的最大小时读数。这包括显示车辆模型中有关车辆的几个字段,并且仅显示里程模型中最大的相关小时数。

我遇到的问题是合并两个范围:

我只能从 Vehicle 模型访问视图中的信息,并且不知道如何访问 max_hours 范围的结果。控制器:

使用<% @vehicle.each do |m| %>我尝试过:

但就是无法解决。(错误是未定义的方法'mileage' for #)

任何人都可以看到我在搞砸什么,或者是否有更好的方法来做到这一点。非常感谢。

0 投票
2 回答
2290 浏览

php - Yii: Getting distinct field values from a related model using scopes

I'm working on the Admin view in Yii for my Project model.

One of the columns with a filter is user (owner) of the project.

I can do something like this:

Which gives me a list of all users in the user table, but I'd like to create something that pulls the distinct users who own a project (I've got 200 users, but only a handful tend to create projects).

Project and User are related via:

I've tried a bunch of option in the findAll() method, but none worked, I'm not trying to do something with a scope.

So far I've tried this:

and my Scope is defined as:

I've tried so many iterations of the above I've lost count 'with'=>'username' 'select'=>'username' etc., but just can't seem to get it to work.

I've tried replace Project::model() with $model just because I thought it might have something to do with it, but no luck.

Any ideas are appreciated. Very new to Yii, but this seems like something it can do.

0 投票
1 回答
758 浏览

php - Yii:根据用户角色使用不同的范围

我有两个级别的管理员可以创建和更新用户,“管理员”和“经理”。

在我的用户 _form.php 中,我有一个“user_type”下拉列表,其中包含我的帐户级别。

我想限制经理创建“管理员”帐户,并且显然在用户更新自己的记录时完全隐藏下拉列表。

a) 有没有办法使用 rules() 来控制这种行为?b)我考虑创建一个名为“hideAdmin”的范围,如下所示:

然后在我的模型中创建一个名为“scopeToUse()”的公共方法,如下所示:

最后,像这样创建我的下拉列表。

我希望'scopeToUse()'会返回范围名称并且它会起作用,但我最终得到了这个:

关于正确方法的任何想法?

编辑

我最终从@Rafay-Zia-Mir 那里得到了启发,并在我的用户类中创建了一个新方法来检查权限并返回适当的 CHtml::listData 以及我想要的范围。不完全是我的意图,但最终结果是相同的,它使我不会在我的视图中放置太多代码,它允许我使用我的范围而不是重复选择标准。

这是代码:

0 投票
1 回答
42 浏览

ruby-on-rails - 很难为 HABTM 关系创建类范围

这是我的简化情况:

Rule恰好遵循 STI 结构。所以我有这个:

没什么大不了的,效果很好。所以现在我想创建一个只返回ProducersProductRules

与此等价的东西:

谁能指出一个快速的解决方案?

注意:我显然不想加载所有生产者并在之后选择它们,我只想直接加载正确的


更新

我正在使用 Rails 版本 2.3.15

0 投票
3 回答
21946 浏览

ruby-on-rails - 如何将参数传递给 Rails 4 中的 has_many 关联范围?

Rails 4 允许你定义has_many这样的关系:

因此,无论何时您都customer.orders只会获得已处理的订单。

但是,如果我需要使where条件动态化怎么办?如何将参数传递给范围 lambda?

例如,我只想为客户当前在多租户环境中登录的帐户显示订单。

这是我所拥有的:

但是,如何在我的控制器或视图中传递正确的帐户?当我这样做时,上面的代码已经到位:

我似乎随意地获得了 ID 为 1 的帐户的所有订单。

0 投票
1 回答
1302 浏览

ruby-on-rails - rails 4 范围不等于和关联

我的控制器中有一个实例变量,我正在尝试将其转换为模型的范围。

实例变量:products

解释:

这显示了last_user值不同于user.username且类型为"Computer"的所有产品。它还排除了user_id:nilallow_multi_users属性设置为TRUE的任何产品。

我尝试了以下零运气:Products.rb

它似乎无法识别关联或在范围内允许“!=”。

任何想法或指示?

0 投票
3 回答
723 浏览

php - 使用 PHP 调用未定义的函数

我有这堂课:

当我跑步时

我收到一个错误:Fatal error: Call to undefined function func1()行索引为echo func1();

我现在的问题是,我该如何func2识别func1

这是范围的问题吗?

0 投票
1 回答
946 浏览

ruby-on-rails - Rails范围/类方法选择虚拟属性

我目前正在将has_scopegem 与模型上的范围/类方法结合使用,以过滤返回到我的 UI 的结果集。

我有一个模型Task,我希望能够过滤它status——模型上的一个虚拟属性。

Task模型有一些您可能需要了解的属性

计算status如下:

忽略这可能不是一种理想的方法这一事实,我目前已经实现了status过滤方法,如下所示:

我不能只返回结果,select因为它是 typeArray而不是 an ActiveRecord::Relation,因此我的wherehackery。对于上下文,我不能/不想返回数组的原因是将结果集传递给kaminari分页。

请注意:我目前使用的方法符合我的要求,但我不喜欢它的完成方式。我觉得应该有更好的方法。

谁能建议一个更好的by_status方法来返回一个ActiveRecord::Relation吗?

tl;dr:需要一个类方法来返回一个ActiveRecord::Relation对虚拟属性的过滤。

提前致谢。

0 投票
2 回答
41 浏览

sql - 根据关联模型数量查询

我正在做一个项目,我需要根据 where 子句下的关联模型的数量来确定模型的范围。这是我能想到的最好的:

但是,它不起作用,因为订阅未定义。在rails查询中有什么方法可以引用postgres当前命中的模型吗?我认为这是我正在寻找的 SQL:

这是我的应用程序的一个非常非常关键的性能部分,所以如果可以的话,我需要它在一个查询中运行。

编辑

顺便说一句,我不确定上面的 SQL 查询是否有效。我只是把它放在那里传达我正在寻找的想法。

0 投票
1 回答
654 浏览

ruby-on-rails - 通过 Rails 中的关联向 has_many 添加范围

我有一个Project模型User加入了一个Membership模型。我想检索一个项目的成员,除了一个用户。

像这个答案一样,我想使用一个范围:

但这不起作用。

如您所见,这会导致两个查询,而不是一个。并返回所有成员,不考虑排除。

为什么这不起作用?