モデル

データベース接続情報ファイルを作成

 symfony configure:database "mysql:host=localhost;dbname=mydb" db_user db_passwd

以下のファイルが出来る。

  • config/databases.yml
  • config/propel.ini

データベースからスキーマファイルを作成

propel.iniを使ってデータベースにアクセスし、全テーブルの情報をYAMLファイルに落とし込む。

 symfony propel:build-schema

config/schema.yml が出来る。

スキーマファイルからデータモデルクラスを作成

データベースのテーブルを基にしたデータモデルクラス(テーブルクラス)を作成する。

 symfony propel:build-model

データモデルクラスの構成

オブジェクトクラスとピアクラスからなる。データベースにTableAテーブルがある場合、以下のようにオブジェクトクラス2つ、ピアクラス2つの計4つのファイルが構成される。

オブジェクトクラス

  • lib/model/TableA.php(ロジックを記述し、実際に編集する。)
  • lib/model/om/BaseTableA.php( symfonyシステムファイルで通常編集しない。)

テーブルのレコードそのものを表すクラス。ROW(行)クラス。

 $tblA = new TableA();
 $myname = $tblA->getMyName();

ピアクラス

  • lib/model/TableAPeer.php
  • lib/model/om/BaseTableAPeer.php

テーブルのレコードを操作(取得)するクラス。

 $tblA_list = TableAPeer::retrieveByPks(array(1,2,3));

データベースを変更したら(テーブル追加など)

以下の通りにコマンドを再実行する。

 symfony propel:build-schema
 symfony propel:build-model
 symfony propel:build-sql

CRUD

TODO


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS

Last-modified: 2011-02-21 (月) 16:18:26