モンスターカレンダー

 2004年6月 »
123456789101112131415161718192021222324252627282930

DB_DataObject insert 完結編

| コメント(0)

DB_DataObject insert の続きに挑戦。
やっと、できた。。。

まず、setFrom()は使えない。

$sale->setFrom($array);
$sale->insert();

としても、setFrom() 内でkeyは SQLの SETから除外されてしまう。

なので地道に

foreach($array $k=>$v){
 $sale->$k = $v;
}
$sale->insert();

とした。
テーブルのキーにシーケンスがない場合はこれでOK。

次に。。。
テーブルのキーにシーケンスがある場合

自分のスクリプトの書き方も悪かった&マニュアル読み込み不足で当初うまくいかず。。
結局DataObject.phpを追ってみて、ようやく次のシーケンスキーがとれず、無条件に1がセットされていると判明。
とれなかったのは、iniファイルにシーケンスキーの定義がなかったからだった。

sequence_m_sale : sale_no:sale_no_sql

などと書く。
これでinsert()はばっちり〜〜〜

と浮かれていたら、今度はupdate()で問題が。

いや大したことないといえばたいしたことはない。。か??
Keyの変更はできないってことです。

コメントする