* モデル [#mc674b4c]

** データベース接続情報ファイルを作成 [#c4670972]
 symfony configure:database "mysql:host=localhost;dbname=mydb" db_user db_passwd
以下のファイルが出来る。
- config/databases.yml
- config/propel.ini

** データベースからスキーマファイルを作成 [#w3c54a82]
propel.iniを使ってデータベースにアクセスし、全テーブルの情報をYAMLファイルに落とし込む。
 symfony propel:build-schema
config/schema.yml が出来る。

** スキーマファイルからデータモデルクラスを作成 [#h21024e7]
データベースのテーブルを基にしたデータモデルクラス(テーブルクラス)を作成する。
 symfony propel:build-model

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

*** オブジェクトクラス [#s1c6ed9e]
- lib/model/TableA.php(ロジックを記述し、実際に編集する。)
- lib/model/om/BaseTableA.php( symfonyシステムファイルで通常編集しない。)

テーブルのレコードそのものを表すクラス。
テーブルのレコードそのものを表すクラス。ROW(行)クラス。
 $tblA = new TableA();
 $myname = $tblA->getMyName();

*** ピアクラス [#xcdb5ac4]
- lib/model/TableAPeer.php
- lib/model/om/BaseTableAPeer.php

テーブルのレコードを操作(取得)するクラス。
 $tblA_list = TableAPeer::retrieveByPks(array(1,2,3));

** データベースを変更したら(テーブル追加など) [#u45a7dac]
以下の通りにコマンドを再実行する。
 symfony propel:build-schema
 symfony propel:build-model
 symfony propel:build-sql

** CRUD [#y7363eab]
TODO

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