我正在寻找以前的答案,但我发现的那些与旧的cakephp版本有关
我有两个表,'杂志'和'问题',其中有'问题'属于'杂志'的关系,这就是IssuesTable的样子:
public function initialize(array $config){
$this->belongsTo('Magazines', [
'foreignKey' => 'id'
]);
}
Run Code Online (Sandbox Code Playgroud)
表杂志有两个字段,magazines.id和magazines.name
表问题有两个字段,issues.id,issues.magazine_id其中issues.magazine_id是外键
使用magazine.name值填充问题视图中的选择输入并保存issues.magazine_id,我将控制器设置为这样
$this->set('magazines', $this->Issue->Magazine->find('list'));
Run Code Online (Sandbox Code Playgroud)
然后我将以下代码添加到问题视图add.cpt中
<?php
echo $this->Form->input('name', [
'type' => 'select',
'multiple' => false,
'options' => $magazines,
'empty' => true]);
?>
Run Code Online (Sandbox Code Playgroud)
但我得到输入选择与issues.magazine_id作为值而不是magazines.name
感谢您的帮助和评论