0

コントローラーで醜い php スクリプトを実行せずに、次のケーキ php 結合をフォーマットする必要があります。

これが私のcakephpの参加です

$this->Type->find('all' , array(
        'conditions' => array( 'Type.id' => '2' ),
        'joins' => array(
          array(
            'table' => 'subtypes',
            'alias' => 'Subtype',
            'conditions' => 'Subtype.tid = Type.id'
         )
      )
 ));

そして、ここに私が得る出力があります

Array
(
    [0] => Array
        (
            [Type] => Array
                (
                    [id] => 4
                    [name] => Clay
                    [handle] => CL
                    [description] => 
                )

            [Subtype] => Array
                (
                    [id] => 11
                    [tid] => 4
                    [name] => Water Based
                )

        )

    [1] => Array
        (
            [Type] => Array
                (
                    [id] => 4
                    [name] => Clay
                    [handle] => CL
                    [description] => 
                )

            [Subtype] => Array
                (
                    [id] => 12
                    [tid] => 4
                    [name] => Oil Based
                )

        )
)

そして、ここに私が望む出力があります

Array
(
    [0] => Array
        (
            [Type] => Array
                (
                    [id] => 4
                    [name] => Clay
                    [handle] => CL
                    [description] => 
                )

            [Subtype] => Array(
                [0] => Array(
                    [id] => 11
                    [tid] => 4
                    [name] => Water Based
                )
                [1] =>Array
                (
                    [id] => 12
                    [tid] => 4
                    [name] => Oil Based
                )
            )
        )
)

どうすればこれを達成できますか??

ありがとうございます^^

4

2 に答える 2

2

結合を使用する代わりに、Cakephp でモデルの関連付けを使用できます。

ご参考までに:- http://book.cakephp.org/2.0/en/models/associations-linking-models-together.html

何か助けが必要な場合は、私に知らせてください!

于 2012-11-27T13:47:16.960 に答える
1

結合を使用しないでください。使用関係と包含可能

public $hasMany = array('Subtype'); // your foreign key should be "type_id" not "tid"

$this->Type->find('all', array(
    'conditions' => array('Type.id' => '2'),
    'contain'=>array('Subtype')));
于 2012-11-27T13:40:49.693 に答える