{"image_url":null,"blog_title":"Islands in the byte stream (legacy)","url":"https://gfx.hatenadiary.org/entry/20090113/1231808395","height":"190","author_name":"gfx","version":"1.0","title":"DBIx::Class\u306emany_to_many\u306f\u5197\u9577\u3060","author_url":"https://blog.hatena.ne.jp/gfx/","provider_name":"Hatena Blog","published":"2009-01-13 09:59:55","description":"package MySchema::Actor; # ... __PACKAGE__->has_many(role_actor => 'MySchema::RoleActor'); __PACKAGE__->many_to_many(roles => role_actor => 'role_id'); # ... many_to_many()\u306f\u5fc5\u305ahas_many()\u3092\u4f34\u3046\u3057\uff0c\u4e2d\u9593\u30c6\u30fc\u30d6\u30eb\u3078\u306e\u30a2\u30af\u30bb\u30b5\u306f\u30e6\u30fc\u30b6\u30fc\u30ec\u30d9\u30eb\u3067\u306f\u3042\u307e\u308a\u4f7f\u308f\u306a\u3044\u3002many_to_many(roles => 'MySchema::RoleActor', 'role_id')\u3068\u3044\u3046\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30a4\u30b9\u3060\u3063\u305f\u3089\u3088\u304b\u3063\u305f\u306e\u306b\u3002 Ru\u2026","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fgfx.hatenadiary.org%2Fentry%2F20090113%2F1231808395\" title=\"DBIx::Class\u306emany_to_many\u306f\u5197\u9577\u3060 - Islands in the byte stream (legacy)\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","blog_url":"https://gfx.hatenadiary.org/","provider_url":"https://hatena.blog","type":"rich","categories":["Perl"],"width":"100%"}