2015年1月15日木曜日

Fat-Free FrameworkのORMで取得したデータの一覧表示

Fat-Free FrameworkのORMで取得したデータの一覧表示です。load()やfind()メソッドで取得したデータをそのまま利用するのではなく、一度、オブジェクトから配列にキャスト($obj->cast();)してあげる必要があるようです。あまりエレガントな方法ではありませんが、何とか表示は出来ました。

index.php
$f3->route('GET /blog',
  function($f3) use ($db) {
    $blog = new DB\SQL\Mapper($db,'blogs');
    $list = $blog->load();
    // echo $db->log();

    $arr = array() ;
    foreach ($list as $obj) {
      // echo $obj->title.', '.$obj->contents;
      $arr[] = $obj->cast();
    }

    $f3->set('blogs', $arr);
    $f3->set('content','blog.htm');
    echo Template::instance()->render('layout.htm');
  }
);
/ui/blog.htm
<repeat group="{{ @blogs }}" value="{{ @blog }}">
  <h3><a href="/blog/{{ trim(@blog.slug) }}">{{ trim(@blog.title) }}</a></h3>
</repeat>

実際に設定してみたのが、こちら

参考サイト
Seek and You Shall Find(Fat-Free Framework for PHP)
How do I list results in my template with fatfree framework and cortex model?(Stack Overflow)

0 件のコメント:

コメントを投稿