Changes between Version 5 and Version 6 of Ticket #555


Ignore:
Timestamp:
2009/12/02 17:15:40 (11 years ago)
Author:
nanasess
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #555 – Description

    v5 v6  
    1111 
    1212DB に INSERT するのはこんな感じ. 
     13プライマリーキーが一致するデータが存在する場合は UPDATE になります. 
    1314 
    1415{{{ 
     
    2324}}} 
    2425 
    25 DB からデータを取得する場合 
     26DB からデータを取得する場合. 
    2627 
    2728{{{ 
     
    3132}}} 
    3233 
    33 複数のレコードを取得する場合は, キーを配列で渡す. 
     34複数のレコードを取得する場合. limit, offset は, 引数で指定 
     35 
     36{{{ 
     37$pm = getPersistenceManager(); 
     38//  dtb_client の column1 が expression に一致するデータを取得する 
     39$client = $pm->getObjectsById(new Client(), array("column1" => "expression")); 
     40}}} 
     41 
     42 
    3443$clients には, dtb_client の連想配列が入る. 
    3544 
     
    4150// email が nanasess を含むものを検索する. %value% のみのサポート 
    4251$clients = $pm->getObjectsById(new Client(), array("email__like" => "nanasess")); 
     52}}} 
     53 
     54データを削除する場合 
     55 
     56{{{ 
     57$pm = getPersistenceManager(); 
     58// $client のプライマリーキーに一致するデータを削除する 
     59$pm->deletePersistent($client); 
     60}}} 
     61 
     62SQL直書きにも対応 
     63 
     64{{{ 
     65$pm = getPersistenceManager(); 
     66$client = $pm->getObjectsBySql(new Client(), "SELECT * FROM dtb_client WHERE client_id = ?", array(1)); 
     67}}} 
     68 
     69更新系のクエリは, executeBySql() を使用 
     70 
     71{{{ 
     72$pm = getPersistenceManager(); 
     73$pm->executeBySql("UPDATE dtb_client SET name = ? WHERE client_id = ?", array('hogehoge', 1)); 
     74}}} 
     75 
     76トランザクションは, Transaction クラスを使用 
     77 
     78{{{ 
     79$pm = getPersistenceManager(); 
     80$tx = $pm->currentTransaction(); 
     81$tx->begin(); 
     82 
     83... snip 
     84 
     85$tx->commit(); 
     86}}} 
     87 
     88シーケンスは, Sequence クラスを使用 
     89 
     90{{{ 
     91$pm = getPersistenceManager(); 
     92$sequence = $pm->getSequence('dtb_client_client_id_seq'); 
     93$client->client_id = $sequence->nextValue(); 
     94$pm->makePersistent($client); 
    4395}}} 
    4496