DBとの連携


maple/sample

ActionクラスからDAO(データアクセスオブジェクト)を使うことで、DBとの連携を図ります。

準備

使用例

  • dicon.iniの記述(DI2仕様)
    [DIContainer]
    listDAO = "component://db.BaseDAO" 
    [listDAO]
    db = dicon://DBA
    map[file_name] = upload.file_name
    map[title] = upload.title
    map[date] = upload.date
    map[user_name] = user.user_name
    relation = "user.user_id = upload.user_id"
  • maple.iniの記述
    [DIContainer2]
    filename = dicon.ini
    [Action]
    listDAO = ref:listDAO
  • Actionクラスでの記述
    $list = $this->listDAO->factory();

説明

  • 上の例でActionクラスの$listをVar_Dump
    array(3) {
     0 => array(4) {
       file_name => string(14) 1118896539.gif
       title => string(9) testImage1
       date => int 1118896539
       user_name => string(6) hoge
     }
     1 => array(4) {
       file_name => string(14) 1118896443.gif
       title => string(8) testImage2
       date => int 1118896443
       user_name => string(6) AAA
     }
    }
  • dicon.iniでのmap設定やrelation設定によって、listDAO(実体はdb/BaseDAO)が自動的にSQLを作ってDBから値を取得する
    map[file_name] = upload.file_name
    map[title] = upload.title
    map[date] = upload.date
    map[user_name] = user.user_name
    relation = "user.user_id = upload.user_id"
  • listDAO(実体はdb/BaseDAO)が吐くSQL
    SELECT `upload`.`file_name`,`upload`.`title`,`upload`.`date`,`user`.`user_name`   
    FROM `upload`,`user` 
    WHERE `user`.`user_id`=`upload`.`user_id`

最新の20件

2017-09-25 2014-07-03 2009-06-06 2006-09-22 2006-01-05 2005-11-10 2005-11-04 2005-10-31 2005-10-07
  • DBとの連携
2005-06-20 2005-06-19 2005-06-18 2005-06-16

  • counter: 1719
  • today: 1
  • yesterday: 1
  • online: 1