Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.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 3 ActiveRecord Rail 3查询以包括不具有现有关系的结果_Ruby On Rails 3_Activerecord - Fatal编程技术网

Ruby on rails 3 ActiveRecord Rail 3查询以包括不具有现有关系的结果

Ruby on rails 3 ActiveRecord Rail 3查询以包括不具有现有关系的结果,ruby-on-rails-3,activerecord,Ruby On Rails 3,Activerecord,是否有一种方法可以使用:joins或:includes查询项目,但也可以在同一查询中返回没有对应关系的结果 当前示例查询 Company.find(1).users.includes(:billing_statuses).where('billing_statuses.expires < ?', Time.now) Company.find(1).users.includes(:billing_status)。where('billing_status.expires

是否有一种方法可以使用:joins或:includes查询项目,但也可以在同一查询中返回没有对应关系的结果

当前示例查询

Company.find(1).users.includes(:billing_statuses).where('billing_statuses.expires < ?', Time.now)
Company.find(1).users.includes(:billing_status)。where('billing_status.expires<?',Time.now)
这将返回所有已过期计费状态的用户,但是,最终目标是获取所有“未计费”用户,这将包括尚未具有:计费状态关系的用户

有没有一种方法可以将此合并到一个查询中

我探索过的另一种方法是获取一家公司的所有用户,然后减去没有过期账单的用户。但我觉得这不是最好的解决办法

谢谢

试试这个:

User.where(company\u id:1).加入(“左侧外部加入billing\u statuses ON billing\u statuses.User\u id=users.id”)。其中(“billing\u statuses.expires<?或billing\u statuses.id为NULL”),Time.now)

尝试以下操作:

User.where(company\u id:1).加入(“左侧外部加入billing\u statuses ON billing\u statuses.User\u id=users.id”)。其中(“billing\u statuses.expires<?或billing\u statuses.id为NULL”),Time.now)