FuelPHP ORMで取得(select)した後の処理
findやqueryなど、クエリを発行するところまではあっても、
その後どう処理するかの記述が少ないと思ったのでメモ。
<?php /* mysql > show create table test; CREATE TABLE `test` ( `id` int(11) DEFAULT NULL, `name` varchar(16) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 mysql > show create table hoge; CREATE TABLE `hoge` ( `fuga` int(11) DEFAULT NULL, `bar` varchar(16) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 */ // phpの中 $result = Model_Test::find(1); echo $result->id; echo $result->name; // Twigの中 $view = View::forge('test_view.twig'); $view->result = $result; return Response::forge($view); {% for row in result %} {{ row.id }} {{ row.name }} {% endfor %} // リレーションを使ってselectしたとき $result = Model_Test->find('all', array( 'related' => array('hoge'), )); foreach ( $result as $row ) { echo $row->id; echo $row->name; // リレーションキーでオブジェクト取得 $hoge = $row->hoge; echo $hoge->fuga; echo $hoge->bar; } // リレーションをTwigの中で展開するときはドットでつないであげればいい {% for row in result %} {{ row.hoge.fuga }} {{ row.hoge.bar }} {% endfor %}