问题标签 [dynamic-finders]

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 投票
12 回答
179515 浏览

ruby-on-rails - 查找 vs find_by vs where

我是新来的轨道。我看到有很多方法可以找到记录:

  1. find_by_<columnname>(<columnvalue>)
  2. find(:first, :conditions => { <columnname> => <columnvalue> }
  3. where(<columnname> => <columnvalue>).first

看起来它们最终都生成了完全相同的 SQL。另外,我相信查找多条记录也是如此:

  1. find_all_by_<columnname>(<columnvalue>)
  2. find(:all, :conditions => { <columnname> => <columnvalue> }
  3. where(<columnname> => <columnvalue>)

是否有关于使用哪一个的经验法则或建议?

0 投票
2 回答
20371 浏览

ruby-on-rails - Rails“find_all_by”与“.where”

我有以下代码:

我正在考虑将其更改为:

这样做会有什么好处吗?它似乎.wherefind_all_by现在更普遍。

0 投票
1 回答
364 浏览

grails - findOrCreateBy 是否适用于其他域实例?

findOrCreateBy如果找不到匹配的对象,我正在尝试使用它来搜索对象或实例化一个对象,但它没有按预期工作。

这就是我所拥有的:

我究竟做错了什么?为什么fooType没有正确设置?这是预期的行为还是 Grails 中的错误?

0 投票
0 回答
130 浏览

ruby-on-rails-3 - Rails 动态查找器返回 nil

使用 Ruby on Rails - sqlite3、rails 3.2.2、ruby 1.9.3p125(在 Windows XP 上)

在数据库中有记录:

所有的动态查找器也是如此(注意它对于整数值和字符串值返回 nil)

为什么不定义它们?

0 投票
1 回答
547 浏览

ruby-on-rails - 在 Rails 应用程序中动态添加 named_scopes

就像 rails 中的动态查找器方法一样,有没有办法为关联模型提供动态查找器方法?

考虑以下模型

如何从用户对象中调用注释属性的动态查找器?

0 投票
1 回答
531 浏览

unit-testing - grails listOrderBy动态查找器中单元测试中的@Mock域对象引发异常

我正在为 grails 控制器编写单元测试。这是代码片段:

下面是域对象的样子:

我正在测试的控制器中的方法调用这个 GORM 动态方法:

当执行到这一行时测试失败,并且异常对我来说没有多大意义,因为 @Mock 注释应该添加了所有动态方法:

运行 grails 应用程序时,控制器工作正常。有任何想法吗?

0 投票
3 回答
4088 浏览

ruby-on-rails - Rails: find 和 find_by 返回奇怪 #在模型中,但不在 Rails 控制台中

我已经坚持了几个小时的奇怪问题:

我正在使用 Rails 3 编写一个简单的用户登录,其中用户使用他们的电子邮件和密码登录。在我的用户模型中,我试图通过他们的电子邮件找到正确的用户对象,然后继续查看他们是否输入了正确的密码。

当我尝试从 rails 控制台查找用户时

我得到了想要的结果——返回了正确的用户对象

但是当我将以下代码放入 model/user.rb 文件时,我得到了一个奇怪的结果

输出以下内容:

当我尝试使用这个用户变量时,它会出错并说变量或方法“用户”是未知的

这是日志文件的输出:

这是我尝试过的一些事情......

  1. 上面的mysql查询肯定有效。我已经将它复制到 mysql 中,它得到了正确的用户。

  2. 我试过 find(id) 也不起作用。返回类似的用户:0x10b7b82c8

总的来说,我不明白为什么控制台会给出与模型代码本身不同的结果。

有人知道为什么我会从 find_by 得到如此奇怪的结果吗?

非常感谢!

编辑:这是附加代码,因为 Frederick 提到不足以找到问题。

来自控制器/users_controller.rb

来自模型/user.rb

0 投票
3 回答
1811 浏览

ruby-on-rails - Rails 4 中的动态 bang finder

Rails 4 正在摆脱动态查找器,所以

变成

好吧,没什么大不了的。User.find_by_hash!(hash)但是,既然没有方法,那么处理动态 bang finder 的最佳方法是什么where!()Rails 4 Release Notes很方便地避免了这种情况。

更新:它明确地说:“除了 find_by_... 和 find_by_...!的所有动态方法都已弃用。”

从那以后,要么页面发生了变化,要么我在阅读时失明了。

0 投票
1 回答
1732 浏览

spring-data-jpa - Spring Data JPA finder 动态字段作为 Map

我的要求是域对象中的自定义字段很少。这些字段可能因客户而异。

我们正在使用 Spring Data JPA 来执行查找器。Spring data 隐式地为域的静态字段提供查找器,并且还可以处理对象图中字段的查找器。

我想知道是否有办法在自定义字段上查找数据?有人可以建议我实现相同的策略。下面是我的域类的示例。

公共类员工{

私有字符串名称;

私有字符串年龄;

私人地图客户字段;(可能因客户而异)

}

我正在考虑覆盖 QueryLookupStrategy 并在 PartTreeJpaQuery 行上创建我的 CustomJpaQuery 来实现它。有没有更好的方法?spring data jpa 是否提供了一种简单的机制来覆盖查询创建机制?

0 投票
1 回答
2091 浏览

grails - 在grails中过滤带有偏移量的集合

我正在尝试使用 findAll 过滤 grails 中的集合,因此我只在他的字段“estado”中获取具有特定值的实例。
我有这样的事情:

问题是我不知道如何对返回的集合进行分页。
我查看了 grails 文档并找到了这个

但是当我尝试时

我得到以下异常

这是为什么要实现某种分页这是为什么还是我必须手动完成?