Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 我如何使用searchlogic搜索所属关联?_Ruby On Rails_Searchlogic_Belongs To_Associations - Fatal编程技术网

Ruby on rails 我如何使用searchlogic搜索所属关联?

Ruby on rails 我如何使用searchlogic搜索所属关联?,ruby-on-rails,searchlogic,belongs-to,associations,Ruby On Rails,Searchlogic,Belongs To,Associations,联系人属于状态联系人 我只想要那些没有赋值的联系人 我安装了searchlogic插件 我试过: contacts = Contact.status_contact_null 我犯了一个错误 我如何才能完全了解如何使用与searchlogic的关联,以及如何将其用于此特定搜索 Contact.status_contact_id_is(nil) 应生成如下所示的SQL: SELECT * FROM `contacts` WHERE (contacts.status_contact_id IS

联系人属于状态联系人

我只想要那些没有赋值的联系人

我安装了searchlogic插件

我试过:

contacts = Contact.status_contact_null
我犯了一个错误

我如何才能完全了解如何使用与searchlogic的关联,以及如何将其用于此特定搜索

Contact.status_contact_id_is(nil)
应生成如下所示的SQL:

SELECT * FROM `contacts` WHERE (contacts.status_contact_id IS NULL)
Searchlogic用Ruby的
nil
替换SQL的
null

您可以使用
ne
(不相等)进行反向操作


上有很多很好的例子哦,当我查看hte github页面时,我想它理解关联?它有一个用户和订单的例子……这有什么不同(与需要调用外键相比?)它确实理解关联,你可以通过范围中的链接方法看到关联——例如,如果
status\u contacts
name
列,
Contact.status\u Contact\u name\u是(“Fred”)
将起作用。但是,当模型本身存在该方法时(例如,
status\u contact\u id
),它会使用该方法,这是使该查询真正起作用的唯一方法。如果您愿意,您可以编写自己的命名作用域,使其更具可读性。我明白了……但是,您是否与协会联系了?即使有这种关联,它仍然需要外键?我很难弄清楚如何使用搜索逻辑——这是唯一的例外吗?根据定义,不是所有关联都有外键吗?是的,
status\u contact
是一个关联,但该关联不能用于此特定查询,因为当外键为nil时,(根据定义)没有可链接的关联记录。当外键不是
null
时,您可以将该关联用于其他方法(如我给出的
name
示例)。我明白了…这是因为它是nil…但是他们使用的方法不是null呢?那么??在例子中。。。?这不是在检查空值吗?
Contact.status_contact_id_ne(nil)