Elixir 按父模型查询--“quot;。。。。不是有效的查询表达式";
我有一个ParentModel,ChildModel1和ChildModel2。ParentModel有许多ChildModel1,ChildModel1有许多ChildModel2 现在,我想显示通过ChildModel1.parent\u model.id进行筛选的ChildModel2列表。下面是一个简化的代码:Elixir 按父模型查询--“quot;。。。。不是有效的查询表达式";,elixir,phoenix-framework,ecto,Elixir,Phoenix Framework,Ecto,我有一个ParentModel,ChildModel1和ChildModel2。ParentModel有许多ChildModel1,ChildModel1有许多ChildModel2 现在,我想显示通过ChildModel1.parent\u model.id进行筛选的ChildModel2列表。下面是一个简化的代码: def index(conn, %{"parent_model_id" => parent_model_id}) do child_model2_items = whe
def index(conn, %{"parent_model_id" => parent_model_id}) do
child_model2_items = where(ChildModel2, [x], x.child_model1.parent_model_id == parent_model_id)
# ......
我有一个例外:
`x.child_model1().parent_model_id()` is not a valid query expression
您将不得不使用联接。您无权访问查询中的
child\u model1
,只能访问x
的属性(应该包括child\u model1\u id
)。您必须使用联接。您无权在查询中访问child\u model1
,只能访问x
的属性(其中应包括child\u model1\u id
)。