FuelPHPでORMでのリレーション

IMG_6348
テーブル”Users”と”Items”で一対多のリレーション。

モデルに$_has_manyのリレーションを設定。
[php]
class Model_User extends OrmModel
{
protected static $_has_many = array(
‘items’ => array(
‘key_from’ => ‘id’,
‘model_to’ => ‘Model_Item’,
‘key_to’ => ‘id’,
‘cascade_save’ => FALSE,
‘cascade_delete’ => FALSE,
)
);
[/php]

リレーションタイプには以下の種類があります。

  • $_belongs_to
  • $_has_one
  • $_has_many
  • $_many_many

コントローラではこう書く。
[php]
$data[‘items’] = Model_Item::find(‘all’, array(‘related’ => array(‘users’)));
[/php]

ビューではこうなる。
[php]
<?php echo $item->users->username; ?>
[/php]
[html]
{{ item.users.username }}
[/html]

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です