Elixir 获得与长生不老药和凤凰的关联计数
我试图在我的应用程序中找到一个联盟中有多少支球队。我似乎找不到这个问题的答案。以下是我们的“我的模型”: 联盟 队 我想知道一个联赛有多少队。如果这是Rails,我会做这个Elixir 获得与长生不老药和凤凰的关联计数,elixir,phoenix-framework,ecto,Elixir,Phoenix Framework,Ecto,我试图在我的应用程序中找到一个联盟中有多少支球队。我似乎找不到这个问题的答案。以下是我们的“我的模型”: 联盟 队 我想知道一个联赛有多少队。如果这是Rails,我会做这个League.first.teams.count。我怎样才能用长生不老药、凤凰和外星人做到这一点 我是一个外星生物,但这是我的第一次尝试,但没有成功 def league_limit(league) do count = from l in league, left_join: t in assoc(l
League.first.teams.count
。我怎样才能用长生不老药、凤凰和外星人做到这一点
我是一个外星生物,但这是我的第一次尝试,但没有成功
def league_limit(league) do
count = from l in league,
left_join: t in assoc(l, :teams),
group_by: l.id,
select: {l, count(t.id)}
end
我想知道一个联赛有多少队
假设league\u limit
的league
参数是一个已加载的%league{}
结构,添加一个where:
子句以将其缩小到传入的联赛:
def league_limit(league) do
count =
from l in League,
where: l.id == ^league.id,
left_join: t in assoc(l, :teams),
group_by: l.id,
select: {l, count(t.id)}
end
你发布的代码中有什么不起作用?旁注:
团队
不应该明确地属于用户
,它带来了潜在的不一致性,因为它已经属于联盟
,后者已经属于用户
@mudasobwa你是对的,但联盟不应该属于用户。我正在创建用户联盟的联接表。
def league_limit(league) do
count = from l in league,
left_join: t in assoc(l, :teams),
group_by: l.id,
select: {l, count(t.id)}
end
def league_limit(league) do
count =
from l in League,
where: l.id == ^league.id,
left_join: t in assoc(l, :teams),
group_by: l.id,
select: {l, count(t.id)}
end