作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有团队,每个团队都有用户,因此有一个联接表将用户链接到团队,这是多对多关系,这是我的模型:
defmodule App.Team do
use App.Web, :model
schema "teams" do
field :owner_id, :integer
has_many :team_users, {"team_user", App.TeamUser}
end
end
defmodule App.User do
use App.Web, :model
schema "users" do
# field :email, :string
has_many :team_user, App.TeamUser
end
end
defmodule App.TeamUser do
use App.Web, :model
@primary_key false
schema "team_user" do
belongs_to :user, App.User
belongs_to :team, App.Team
end
end
teams_users =
from(t in Team, where: t.owner_id == ^user_id)
|> Repo.all()
|> Repo.preload(:team_users)
[%App.Team{__meta__: #Ecto.Schema.Metadata<:loaded>, id: 1,
is_base_team: true, owner_id: 3,
team_users: [%App.TeamUser{__meta__: #Ecto.Schema.Metadata<:loaded>,
team: #Ecto.Association.NotLoaded<association :team is not loaded>,
team_id: 1,
user: #Ecto.Association.NotLoaded<association :user is not loaded>,
user_id: 3},
%App.TeamUser{__meta__: #Ecto.Schema.Metadata<:loaded>,
team: #Ecto.Association.NotLoaded<association :team is not loaded>,
team_id: 1,
user: #Ecto.Association.NotLoaded<association :user is not loaded>,
user_id: 4},
%App.TeamUser{__meta__: #Ecto.Schema.Metadata<:loaded>,
team: #Ecto.Association.NotLoaded<association :team is not loaded>,
team_id: 1,
user: #Ecto.Association.NotLoaded<association :user is not loaded>,
user_id: 5}]}]
user: #Ecto.Association.NotLoaded<association :user is not loaded>
?我没有要求以任何方式在该ID上加载用户。.为什么我会收到这样的警告?
{:phoenix_ecto, "~> 3.0-rc}
最佳答案
您需要预加载:user
和:team_users
:
teams_users =
from(t in Team, where: t.owner_id == ^user_id)
|> Repo.all()
|> Repo.preload(team_users: :user)
关于elixir - 为什么我得到#Ecto.Association.NotLoaded?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37564255/
我有团队,每个团队都有用户,因此有一个联接表将用户链接到团队,这是多对多关系,这是我的模型: defmodule App.Team do use App.Web, :model schema
这个问题已经有答案了: Loading requirejs modules Dynamically with sugar syntax (1 个回答) 已关闭 7 年前。 我正在尝试将数据列表映射到我
我正在 Visual Studio 社区中使用 Apache cordova 工具。我正在用 Javascript 编写一个混合应用程序。我在设置与 MySQL 数据库的连接时遇到此错误: 尚未为上下
我是一名优秀的程序员,十分优秀!