0

我已经设法将我的 2 个表clientsrisk_codes彼此连接在一起,其中clients.risk_code_id有一个外键for risk_codes.id

在我的客户端编辑视图中,我使用 HTML Helper 输出了一个表单。例如添加一个输入来编辑clients.name我会使用echo $this->Form->input('name');

鉴于这risk_codes是一个单独的表/模型,我将如何输出选项为risk_codes.name且值为的选择下拉列表risk_codes.id

这些表是这样链接的:

Client belongsTo RiskCode
RiskCode hasMany Client
4

1 回答 1

1

在您的RiskCode模型中确保将displayField其设置为nullname(后者是默认值之一):

public $displayField = 'name'; // or null;

在控制器中为视图设置风险代码列表:

$this->set('riskCodes', $this->Client->RiskCode->find('list'));

并在视图中简单地引用适当的外键字段名称:

echo $this->Form->input('risk_code_id');

CakePHP 将自动创建一个适当的选择列表,使用列表中的模型iddisplayField字段值设置为riskCodes.

附言。许多此类问题在Cookbook中都有解答,也可以通过使用 CakePHP烘焙控制器和视图来解决。

于 2013-09-11T15:48:15.840 回答