Я пытаюсь сказать просто 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'
)
);
Проблема в том, что вы выбираете только поле id в:
$ CS = $ this-> CkMmUsersKta-> найти ( «все», массив ( ‘полей’ => Array ( ‘CkMmUsersKta.id’)));
Вы должны также указать поле имени.
$ CS = $ this-> CkMmUsersKta-> найти ( «все», массив ( ‘полей’ => массив ( ‘CkMmUsersKta.id’, ‘CkSetupUser.user_name’)));
Других решений пока нет …