ECサイト運営開発記

PHPフレームワーク Laravelの使い方を中心とした通販サイトの開発日記

Zend_Db_TableでO/Rマッピング -基本操作編

Zend_Db_TableでO/Rマッピング準備編の続きです。
テーブル定義や宣言したクラスなどは事前にご確認ください。

[ここでやりたい事]

  • 新規に商品を追加する(行の追加)
  • 商品情報を更新/削除する(行の更新/削除)
  • もちろん、SQLは一切、書かない

■商品の追加(行の追加)

<?php 

// DBMクラスからZend_Dbの接続を取得
$con=DBM::getConnection();

// テーブルオブジェクト/コンストラクタに$conを入れる
$itemTable=new ItemTable($con);

// テーブルオブジェクトに新しい行の領域を作成
$row=$itemTable->createRow();

/*
 * データをセット
 * itemテーブルのフィールドに情報をセットする
 * 切れ味抜群な在庫30本の15000円のサムライソードを商品テーブルに保存する
 * idフィールドはauto_increment / 未設定の項目にはテーブルのデフォルト値
 * */
$row->name="サムライソード";
$row->detail="切れ味抜群です";
$row->stock =30;
$row->price =15000;

// 新規にレコードを保存
// 戻り値はlastInsertIdが返ってきます。
$id=$row->save();

?>


■商品の更新

<?php 

// 商品ID
$id=1;

// $idからid=1の行を取得(単一)
$row=$itemTable->fetchRow("id=".$id);

/*
 * データをセット
 * 価格は12000円に値下げする
 * */
$row->price =12000;

/*
 * 既存のレコードを保存 
 * 返り値はユニークID
 * */
$row->save();

?>

■商品の削除

<?php 

// 商品IDから商品を検索する
$id=1;

// $idからid=1の行を取得(単一)
$row=$itemTable->fetchRow("id=".$id);

// 削除
$row->delete();

?>

基本操作編 その1 はここまで。
SQLを書かずに、INSERTやUPDATEを行ってくれるなんて素敵です。
次のエントリーはSELECTの発行です。

Zend Framework徹底入門
Zend Framework徹底入門
posted with amazlet at 08.12.05
山田 祥寛
翔泳社
売り上げランキング: 22652

PHPフレームワーク Zend Framework入門
藤野 真吾
ソーテック社
売り上げランキング: 28867