Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.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 Rails控制器请求-获取嵌套属性_Ruby_Ruby On Rails 3 - Fatal编程技术网

Ruby Rails控制器请求-获取嵌套属性

Ruby Rails控制器请求-获取嵌套属性,ruby,ruby-on-rails-3,Ruby,Ruby On Rails 3,我正在尝试访问日期属性 Meeting.where('date_year BETWEEN ? AND ?', var1, var2) 日期是会议的一个属性。Date属于datetime类,如何在where调用中调用Date.year 谢谢请尝试下面的查询 Meeting.where('extract(year from date) BETWEEN ? and ?', var1, var2) 离题,但你也可以做: Meeting.where(date_year: var1.year..var2

我正在尝试访问日期属性

Meeting.where('date_year BETWEEN ? AND ?', var1, var2)
日期是会议的一个属性。Date属于datetime类,如何在where调用中调用Date.year

谢谢

请尝试下面的查询

Meeting.where('extract(year from date) BETWEEN ? and ?', var1, var2)
离题,但你也可以做:

Meeting.where(date_year: var1.year..var2.year)

假设年份是int

,那么date属性在代码中是DateTime,很可能在数据库中也是。如果要在where子句中引用年份,则必须使用特定于数据库的函数调用。调用的内容取决于您的数据库。我知道date_year是一个存储年份的列,而不是date/datetimedate是一个列,date是类datetime的,因此date.year返回yearDate是类datetime的一个模型属性。这意味着您可以请求变量date并调用date.year以返回date中的年份在模型中您需要年份的datetime字段的名称是什么?
Meeting.where(date_year: var1.year..var2.year)