Создание отношений между двумя таблицами в CakePHP с использованием моделей для написания меньшего количества кода

0

Я пытаюсь сказать только CkMmUsersKta.user_id = CkSetupUser.id и определить связь между двумя таблицами в CakePhp. Я определил модели и назвал модели функциями в контроллере, но говорит, что Undefined index для

$c['CkSetupUser']['user_name']

Уведомление CakePHP (8): Неопределенный индекс: CkSetupUser [APP\Controller\RealsController.php, строка 67]

мой контроллер:

class RealsController extends AppController {

   public $helpers = array('Html', 'Form');
   public $uses =array('CkMmUsersKta','CkSetupUser');

  public function index(){
   $this>loadModel('CkMmUsersKta');$this>loadModel('CkSetupUser');

   ini_set('memory_limit', '2000M');

   $cs=$this->CkMmUsersKta->find("all",array('fields'=>array('CkMmUsersKta.id')));

      foreach($cs as $c):
        echo $c['CkMmUsersKta']['id'].$c['CkSetupUser']['user_name']."<br />";
      endforeach;
   set_time_limit(0); 
   }
}

моя модель CkSetupUser:

    public $hasMany = array(
        'CkMmUsersKta' => array(
            'className'     => 'CkMmUsersKta',
            'foreignKey'    => 'user_id',
            'dependent'     => true
        )

    );

моя модель CkMmUsersKta:

    public $belongsTo = array(
        'CkSetupUser' => array(
            'className'    => 'CkSetupUser',
            'foreignKey'    => 'user_id'
        )

    );
Теги:
has-many
cakephp
model
belongs-to

1 ответ

1
Лучший ответ

Проблема в том, что вы извлекаете только поле id в:

$ CS = $this-> CkMmUsersKta-> найти ( "все", массив ( 'полей' => Array ( 'CkMmUsersKta.id')));

Вы также должны указать поле имени.

$ CS = $this-> CkMmUsersKta-> найти ( "все", массив (= 'полей'> Array ( 'CkMmUsersKta.id', 'CkSetupUser.user_name')));

Ещё вопросы

Сообщество Overcoder
Наверх
Меню