0

私は 2 つのテーブルを結合し、互いに外部キーを結合することがclientsできrisk_codesましclients.risk_code_idfor risk_codes.id

クライアントの編集ビューで、HTML ヘルパーを使用してフォームを出力します。たとえば、編集する入力を追加するclients.nameには、使用しますecho $this->Form->input('name');

それが別のテーブル/モデルであることを考えると、オプションがで、値が でrisk_codesある選択ドロップダウンをどのように出力しますか?risk_codes.namerisk_codes.id

テーブルは次のようにリンクされています。

Client belongsTo RiskCode
RiskCode hasMany Client
4

1 に答える 1

1

RiskCodeモデルで、またはdisplayFieldに設定されていることを確認します(後者はデフォルトの 1 つです)。nullname

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

コントローラーで、ビューのリスク コードのリストを設定します。

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

ビューでは、適切な外部キー フィールド名を参照するだけです。

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

idCakePHP は、 として設定されたリストのモデルとdisplayFieldフィールド値を使用して、適切な選択リストを自動的に作成しますriskCodes

ps。このような多くの質問はクックブックで回答されており、CakePHP を使用してコントローラーとビューをベイクすることで解決することもできます。

于 2013-09-11T15:48:15.840 に答える