アソシエーションが既にロードされているかどうかを確認するのにどの機能を使用できますか? アソシエーションがロードされていて、それを使用しようとしていて、Ecto.Association.NotLoaded
エラーが発生しているかどうかを確認するとよいでしょう。アソシエーションが読み込まれていないかどうかを確認する方法は?
assoc
defmodule PreloadCheck do
def is_preloaded(model, assoc) do
case Map.get(model, assoc) do
%Ecto.Association.NotLoaded{} -> false
_ -> true
end
end
end
があなたの関連名を表すアトムのようになります。そこにこれをチェックする組み込み関数ですが、あなたはこのようなあなた自身を書くことができれば
ありがとうございました。私は結びつきがリストであるかどうかを簡単にチェックし、ロードされたものとしてカウントする関数を書くことになります。 私はまだこれを行う組み込み関数があると考えています。 –
ええ、あなたは 'Ecto.assoc_loaded?';を使うことができます)、ロードされたかどうかにかかわらずboolを返します。私はちょうど機能が利用可能であるかどうか正確には分かりません、少なくともバージョン2.1.4では利用可能です。 –
この関数はどこに書かれ、どのようにモデルに影響を与えますか?それがグレートになると説明できる場合 –