2016-12-20 9 views
2

Я получил динамические таблицы, поэтому я создал две модели, которые динамически. Затем я создал ассоциацию hasOne между ними. Он хорошо работает, читает данные, но я получаю эту ошибку, когда я использую SaveAll() Undefined индекс: NodeData [CORE/торт/Libs/модель/model.php, линия 1702]Модели ассоциации с SaveAll в CakePHP 1.3

Я получил код для Узла и модели NodeData

class Node extends PostgresAppModel { 
    var $name = 'Node'; 
    var $useDbConfig = 'pgdata'; 
    var $useTable = false; 
    var $recursive = 0; 

-

class NodeData extends PostgresAppModel { 
    var $name = 'NodeData'; 
    var $useDbConfig = 'pgdata'; 
    var $useTable = false; 
    var $primaryKey = 'node_id'; 
    var $recursive = 0; 

В контроллере я настроил действие:

function edit($network_id = null, $variation_id = null, $node_id = null) 

    $prefix = $this->Network->getNetworkPrefix($network_id); 

    if (!empty($this->data)) { 
     $this->Node->setSource(sprintf('%s_node', $prefix)); 
     $this->NodeData->setSource(sprintf('%s_node_data', $prefix)); 
     $this->Node->bindModel(array(
      'hasOne' => array(
       'NodeData' => array(
        'foreignKey' => 'node_id', 
        'className' => 'NodeData', 
       ) 
      ) 
     )); 
     $this->data['NodeData']['id'] = $this->data['NodeData']['node_id']; 
     if ($this->Node->saveAll($this->data)) { 

отладить линию в model.php, но не понимает, почему $ это -> {$} типа [$ объединения] дает ошибку

$values[$this->{$type}[$association]['foreignKey']] = $this->id; 

ответ

1

модели должна быть связана в самих моделях, не в контроллере.