0

我对 CakePHP 中的关联有疑问。

我希望一个类型有很多部分,所以一个部分属于类型

楷模

   class Type extends AppModel {
        public $name = 'Type';

        public $hasMany = array(
            'Section' => array(
                'className'     => 'Section',
                'foreignKey'    => 'type_id'
            )
        );
    }

class Section extends AppModel {
    public $name = 'Section';
    public $belongsTo = array(
        'Type' => array(
            'className'    => 'Type',
            'foreignKey'   => 'type_id'
        )
    );
}

控制器

class SectionsController extends AppController {

    public function lista() {
            $this->set('sections', $this->Section->find('all'));
    }

}

但结果是这样的:

array(
    (int) 0 => array(
        'Section' => array(
            'id' => '1',
            'type_id' => '1',
            'name' => 'Advertising',
            'visible' => true
        )
    ),
4

1 回答 1

0

你应该使用

 $this->set('sections', $this->Section->find('all'));

注意:没有Type

这将包括Type表单中的字段。

array(1) {
  [0]=>
  array(2) {
    ["Section"]=>
    array(1) {
      ["id"]=>
      string(1) "1"
    }
    ["Type"]=>
    array(0) {
      ["id"]=>
      string(1) "1"
    }
  }
}

如果关系是,您的代码将起作用Section hasMany Type

于 2013-07-03T17:14:59.833 回答