タグ

doctrine2に関するyu3ho7のブックマーク (6)

  • Magic Doctrine2 finders when field has underscore?

    yu3ho7
    yu3ho7 2014/03/29
    フィールド名にアンダーバーを使用するとfindByが使えない対応
  • 16. Native SQL — Doctrine 2 ORM 2 documentation

    yu3ho7
    yu3ho7 2014/03/05
    SQLを直接書いてEntity Classにマッピングする方法。
  • Doctrine2を試してみる(4) リポジトリ : エクスギア Blog

    1回目で触れましたがDoctrine2ではロジック処理をリポジトリクラスに集約しておくことができます。 1エンティティごとに1リポジトリを指定できるようになっているようです。 このリポジトリの中にDQLを閉じ込めてメソッドを定義しておくことで見通しのよいコードになります。 Symfony2のDoctrine2のドキュメントではDQLをアクションに書いている例なので「あれれ?」と思ったのですが、リポジトリを使えばちゃんと外だしできます。 では、少しばかりリポジトリの使い方を見てみます。 リポジトリの定義を行いひな形を作る Doctrine2のコマンドラインツールで既存のリポジトリからひな形を作成することができます。 以下の手順だけなので簡単です。 リポジトリの定義をエンティティに追加する エンティティの@Entityアノテーションにリポジトリのクラスを定義します。 repositor

  • Doctrine2を試してみる (1) エンティティマネージャー : エクスギア Blog

    Doctrine2はPHPORMPHP5.3.0以降に対応しているライブラリです。 Doctrine1がすでに存在していますが、様々な便利な機能が追加されさらに強力になっています。 ただし、色々できるということは覚えることも多いということで実際にDoctrine2を触ってみてその世界に触れてみたいと思います。 今回はインストールからORMを使ってデータベースと会話してみてその特徴を見てみたいと思います。 必須条件 Doctrine2は大きく3つのパッケージから構成されています。 Commonパッケージ 他のライブラリに依存していない再利用性のあるライブラリをまとめたパッケージ。コレクションのライブラリなどが含まれています。 DBALパッケージ PDOの薄い一番上のラッパーになります。薄いというのはDBの方言の違いを吸収することだけが目的。このパッケージはCommonパッケージを含ん

  • Doctrine2.3で導入されたCustomIdGeneratorを試してみた - Do You PHP はてブロ

    Doctrine2ではORMにPrimary Keyの値を自動生成する機能(Generator)が用意されています。今回2.3から"独自の値"を生成するGeneratorを定義・利用できるようになったので試してみました。 前置き 2.2まではBasic Mapping - Object Relational Mapper (ORM) - Doctrineにあるオプション AUTO SEQUENCE TABLE IDENTITY NONE が用意されており、これを変更することで「どのように値を生成するのか?」を変更することができます。 ただし、基的にはsequenceなどを使った連番(数値)となりますので、 先頭ゼロ埋めのXX桁の文字列にしたい Entity内の何らかの値(特定のカラムの値とか)を使ってIDを生成したい といった場合は、別途値を生成してEntityにセットしてからpersi

    Doctrine2.3で導入されたCustomIdGeneratorを試してみた - Do You PHP はてブロ
    yu3ho7
    yu3ho7 2014/01/28
    CustomIdGenerator
  • 10分ぐらいで学べるSymfony2 〜Doctrine2のassociationsを見てみる〜 - taka512's blog

    masterとcategoryのように複数テーブルに情報が分かれている場合でもDoctrine2はよろしくMAPしてくれます。 ただ、ORMを使っているとSQLが直接見えない分、残念なSQLになってしまう事があるので挙動を調べたメモです。 Doctirne2のテーブル間の関係性において「1対1」「1対多」「多対多」の3つがあります。 今回は「1対多」で参照の場合のメモとなります。 1. テーブル構成 hoge1が1でhoge_typeが多の関係性で初期データやデータ定義は下記とします。 # テーブル定義 mysql> desc hoge1; +-------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------+-----

    10分ぐらいで学べるSymfony2 〜Doctrine2のassociationsを見てみる〜 - taka512's blog
  • 1