データベースにいくつかのテーブルがあります。Blogs、、、Usersが主なものですPosts。Tagsまた、リンクテーブルがあります:User_blogs、Blog_posts&Post_tags。
私の質問は、Laravelのクラスとメソッドをどのように使用するかbelogs_to()ですhas_many()。誰かがそれに光を当てる必要があります。私は多くの記事やドキュメントを読みましたが、それでも混乱しています。
通常、laravelは、テーブルを適切に設定すれば、多対多の関係を検出するのに十分スマートです。中間/ピボットテーブルでは両方のテーブル名を複数形にするべきではありませんUsers。テーブル。これらのテーブルでは、列は(小文字で)を適切に反映する必要があるため、他の列には、などの3 つの列が必要です。BlogsPostsTagsUser_BlogBlog_PostPost_Tagtablename_idUser_Blogiduser_idblog_id
モデルでは、多対多の関係を設定するだけです
class User extends Eloquent
{
public function blogs()
{
return $this->has_many_and_belongs_to('Blog');
}
}
などなど、モデルごとに。構造を変更できない場合は、次のように多対多の関係にテーブル名を追加するだけですreturn $this->has_many_and_belongs_to('Blog', 'User_blogs');