cakephp mysql 自己結合

2014年10月12日更新 view: 397 view
photoBy: http://cakephp.jp/img/hot-features.png

自分のテーブルから自分のテーブルをbelongs_to

アフィリエイトなどで良く使われる

○○さんの紹介で△△さんが入会されたよ!

てな感じの紹介者が誰か?を探すときに役に立つのが自己結合。
cakephp の自己結合はあまり情報がないのでまとめてみた。

スポンサードリンク

users テーブル

  • id
  • name
  • intro_id

○User.php

<?
class User extends AppModel {
}
?>

○Ko.php

<?
class Ko extends AppModel {
  var $useTable = 'users';
}
?>

の二つを用意。

適当なコントローラー

$this->User = Classregistry::init('User');
$this->User->bindModel(array('belongsTo' => array('Ko' => array('foreignKey' => 'intro_id'))),false);
$user = $this->User->find('all',array('limit' => 10));

結果

[User] => Array
(
    [id] => 4
    [name] => ユーザー
    [intro_id] => 9
)

[Ko] => Array
(
    [id] => 9
    [name] => 紹介された人
    [intro_id] => 0
)

って感じになる。

スポンサードリンク

関連記事

関連カテゴリ

コロ助

web関連の記事や制作系の記事をどんどんまとめていきます。 宜しくお願いします!

ピックアップ

パソコン・ソフトウェア ランキング

2月25日 ( 土 ) にアクセスが多かった記事はこちら!