タグ

ブックマーク / tech.quartetcom.co.jp (2)

  • Doctrine2のInheritanceMapping | QUARTETCOM TECH BLOG

    先月からSymfony2とDoctrine2を触り始めた新人の永井です。 早速Doctrine2のInheritance Mappingという機能を試したので、紹介をしたいと思います。 1つの親エンティティに対していくつかのサブパターンが存在するようなデータ構造を設計することって良くありますよね。 良く見るクラス図をサンプルにするとこんな感じの構造です。 上記の図の場合だと、 どんな図形かについては関心がなく色分けだけしたい場合 正方形のみを取り扱いたい場合 など、やりたいことがいろんな階層である場合に、こういったデータ構造になることがあるかと思います。 OOPの世界では良くある構造なのですが、継承という概念のないRDB上に再現しようとすると途端に面倒になります。 そこで、Doctrine2のInheritance Mappingの登場です。 今回はMartin Fowler先生のPofE

    Doctrine2のInheritanceMapping | QUARTETCOM TECH BLOG
    termin2
    termin2 2018/11/21
  • Doctrineで混同しがちな cascade={"remove"}、 onDelete="CASCADE"、 orphanRemoval=true について整理してみる | QUARTETCOM TECH BLOG

    Doctrineで混同しがちな cascade={"remove"}、 onDelete="CASCADE"、 orphanRemoval=true について整理してみる Symfony Advent Calendar 2016 22日目の記事です。 はじめに Doctrineは多機能で私も開発においてはたいへん便利に使っています。反面、多機能がゆえにどの機能が何を提供してくれるのか把握できていないために苦労することもしばしばです。 ここでは私がいつもどれがなにを示すのかわからなくて毎回ドキュメントを見ながら使っていたcascade={"remove"}、onDelete="CASCADE"、orphanRemoval=trueの記述がもたらす各振舞についてこの場を借りて整理してみたいと思います。 前提 エンティティとしてUserとProfileがあり、UserがProfileを1つ所有し

    Doctrineで混同しがちな cascade={"remove"}、 onDelete="CASCADE"、 orphanRemoval=true について整理してみる | QUARTETCOM TECH BLOG
  • 1