我有2个模型
Form.rb
For Each row As DataRow In ds.Tables(0).Rows
Dim Teacher As String = row("Teacher").ToString()
If Not dsOutput.Tables.Contains(Teacher) Then
Dim dvStudents = ds.Tables(0).DefaultView
dvStudents.RowFilter = "Teacher = '" & Teacher & "'"
Dim subTable As New DataTable(Teacher)
subTable = dvStudents.ToTable(Teacher)
dsOutput.Tables.Add(subTable)
End If
Next
元素
has_many :elements
我要查询这样的元素:
belongs_to :form
这些属性都来自Form和Element模型,并且可以正常工作。现在,我需要对具有1个以上属性( date )的Forms进行范围划分,该属性存储在meta属性(json字段)中,因此Form对象看起来像:
Element.joins(:form).where(hash)
hash = {
form: {
name: "some name",
surname: "some surname"
},
element_name: "some name"
}
我创建了可以像这样工作的范围:
Form
- name
- surname
- meta: {date: "2018-10-10"}
,这很好用,但是由于我做不到,我该如何在上述情况下使用此范围:
scope :by_date, ->(date) { where('JSON_EXTRACT(meta, "$.date") = ?', date) }
Form.by_date("2018-10-10")