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

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

$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'
)

);

0

Решение

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

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

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

$ CS = $ this-> CkMmUsersKta-> найти ( «все», массив ( ‘полей’ => массив ( ‘CkMmUsersKta.id’, ‘CkSetupUser.user_name’)));

1

Другие решения

Других решений пока нет …