Elixir 按父模型查询--“quot;。。。。不是有效的查询表达式";

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

我有一个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 = 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
)。