私はこのクエリを別の部分に分割し、必要に応じて構築する方法がありますか?私はこれのさまざまな部分が必要です。大きなEcto.Queryをより細かく分割するにはどうすればいいですか?
クエリは正常に動作しますが、コピーと貼り付けは異なる部分を変更するだけでは非常にクリーンなアプローチではありません。再利用が必要なブロックについては#
と指摘しています。
def by_id(user_id, company_id, asset_id) do
# section 1
from a in Asset,
# section 2
join: acl in AccessList, on: acl.asset_id == a.id,
join: c in Company, on: acl.company_id == c.id,
join: u in User, on: acl.user_id == u.id,
# section 3
where: u.id == ^user_id and c.id == ^company_id
# section 4
and a.id == ^asset_id,
# section 5
select: %{
asset_name: a.asset_name,
asset_id: a.id,
inserted_at: a.inserted_at
},
# section 6
group_by: a.id,
# section 6
order_by: a.id
end
あなたは質問の答えを完全に変更しました。これは、SOのルールでは許可されていません。質問を元のバージョンに戻し、もしあれば別の質問をしてください。このサービスの目的は、あなたを個人的に支援するのではなく、知識ベースを構築することです。既に回答を受けている質問を編集することは、将来の読者にとってはかなり誤解を招きます。 – mudasobwa
フェアポイント。完了しました。念押し有難う –