Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/54.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 Ruby(续集):按日期(年份)和属性过滤_Ruby On Rails_Ruby_Database_Select_Sequel - Fatal编程技术网

Ruby on rails Ruby(续集):按日期(年份)和属性过滤

Ruby on rails Ruby(续集):按日期(年份)和属性过滤,ruby-on-rails,ruby,database,select,sequel,Ruby On Rails,Ruby,Database,Select,Sequel,使用Sequel,我需要找到2012年创建的所有文档,它们的标题为@title 但这不会返回任何内容,而是返回两个文档。我认为您刚刚编写了title:@title而不是:title=>@title,并验证@title与title的类型是否相同。我认为您刚刚编写了title:@title而不是:title=>@title,并且还要验证@title是否与title的类型相同,因为您没有提到您正在使用的数据库,但是如果您使用的是SQLite,则需要设置DB.use_timestamp_timezone

使用Sequel,我需要找到2012年创建的所有文档,它们的标题为@title


但这不会返回任何内容,而是返回两个文档。

我认为您刚刚编写了title:@title而不是:title=>@title,并验证@title与title的类型是否相同。

我认为您刚刚编写了title:@title而不是:title=>@title,并且还要验证@title是否与title的类型相同,因为您没有提到您正在使用的数据库,但是如果您使用的是SQLite,则需要设置DB.use_timestamp_timezones=false并清除数据库中的所有时间戳以删除时区。Sequel默认在SQLite上使用时区,但SQLite的日期/时间函数不识别带有时区的时间戳


如果您没有使用SQLite,您应该提供有关您的情况的更多详细信息。

您没有提到您正在使用的数据库,但是如果您正在使用SQLite,您需要设置DB.use\u timestamp\u timezones=false并清除数据库中的所有时间戳以删除时区。Sequel默认在SQLite上使用时区,但SQLite的日期/时间函数不识别带有时区的时间戳


如果您不使用SQLite,您应该提供有关您的情况的更多详细信息。

目前看起来不错,我会尝试将其切碎。在不使用的情况下尝试该命令。请在开始处选择。如果这不起作用,请尝试删除其中一个条件。例如,仅按年份或标题进行尝试,查看SELECT语句中的罪魁祸首。如果您有任何想法,请提出,我将尝试在Ruby 1.9中提供帮助。title:@title与:title=>@title相同。目前看起来不错,我会尝试将其切成碎片。在不使用的情况下尝试该命令。请在开始处选择。如果这不起作用,请尝试删除其中一个条件。例如,仅按年份或标题进行尝试,查看SELECT语句中的罪魁祸首。如果您有任何想法,请提出,我将尝试在Ruby 1.9中提供帮助。title:@title与:title=>@title相同。
$dataset = DB[:documents]
$dataset.select(:title).where(:created_at.extract(:year) => 2012, title: @title).all