我已经加入了我的两张桌子 clients 和 risk_codes 彼此之间 clients.risk_code_id 是一把外键 for risk_codes.id .
clients
risk_codes
clients.risk_code_id
for risk_codes.id
在“客户端”的编辑视图中,我使用HTML Helper输出了一个表单。例如,添加要编辑的输入 clients.name 我会用 echo $this->Form->input('name');
clients.name
echo $this->Form->input('name');
鉴于此 风险代码 是一个单独的表/模型吗?我如何输出一个选项为 risk_codes.name 并且这些值是 risk_codes.id ?
风险代码
risk_codes.name
risk_codes.id
这些表的链接方式如下:
Client belongsTo RiskCode RiskCode hasMany Client
在您的 RiskCode 模型确保 displayField 设置为 null 或 name (后者是默认值之一):
RiskCode
displayField
null
name
public $displayField = 'name'; // or null;
在控制器中设置 list 视图的风险代码:
$this->set('riskCodes', $this->Client->RiskCode->find('list'));
在视图中,只需引用适当的外键字段名称:
echo $this->Form->input('risk_code_id');
CakePHP将使用模型自动创建一个适当的选择列表 id 和 显示字段 列表中的字段值设置为 riskCodes .
id
显示字段
riskCodes
附言。许多类似的问题都在 Cookbook ,也可以通过使用CakePHP来计算 bake 控制器和视图。