脚手架应用程序时的多对多关系
Many to many relations when scaffolding app
我想知道在构建应用程序时为 phoenix.gen.html
或 phoenix.gen.json
指定了多少对多关系。通常使用 references
创建一对多关系,如下所示:
mix phoenix.gen.model Video videos name:string approved_at:datetime description:text likes:integer views:integer user_id:references:users
但是如何传递多对多字段?
运行
mix phoenix.gen.model UserVideo users_videos user_id:references:users video_id:references:videos
然后更新您的模式
alias MyApp.{User, UserVideo}
schema "videos" do
...
many_to_many :users, User, join_through: UserVideo
end
alias MyApp.{Video, UserVideo}
schema "users" do
...
many_to_many :videos, Video, join_through: UserVideo
end
我想知道在构建应用程序时为 phoenix.gen.html
或 phoenix.gen.json
指定了多少对多关系。通常使用 references
创建一对多关系,如下所示:
mix phoenix.gen.model Video videos name:string approved_at:datetime description:text likes:integer views:integer user_id:references:users
但是如何传递多对多字段?
运行
mix phoenix.gen.model UserVideo users_videos user_id:references:users video_id:references:videos
然后更新您的模式
alias MyApp.{User, UserVideo}
schema "videos" do
...
many_to_many :users, User, join_through: UserVideo
end
alias MyApp.{Video, UserVideo}
schema "users" do
...
many_to_many :videos, Video, join_through: UserVideo
end