0

このフォーム入力があります:

echo $this->Form->input('category_id',array('label'=>'Catégorie','type'=>"select",'options'=>$categories,'empty'=>false));

現在、$category にはこれらの情報が入力されています。

Array
(
[0] => Array
    (
        [categories] => Array
            (
                [id] => 1
                [nom] => Autre
            )

    )

[1] => Array
    (
        [categories] => Array
            (
                [id] => 2
                [nom] => Véhicule
            )

    )

[2] => Array
    (
        [categories] => Array
            (
                [id] => 3
                [nom] => Audio/video
            )

    )

)

Select 入力に「nom」フィールド (名前) のみが表示され、フォームの送信時に ID が送信されるようにしたいと思います。それはCakePHPで可能ですか?私はしばらくの間、Google と CakePHP のドキュメントとフォーラムをクロールしてきましたが、成功しませんでした :-/

よろしくお願いします。良い一日を!

4

2 に答える 2

1

Cakephp は選択オプションに一次元配列を使用します。id をキーとして、nom を option タグのテキストとして単一次元に変更し、それを options キーに渡します。

$categories = Set::combine($categories,'{n}.categories.id','{n}.categories.nom');
于 2012-07-27T17:36:02.627 に答える
0

Cakephp の規則を尊重する必要があります。データベースで「nom」を「name」に置き換えると、関連付けが適切に行われている場合、cakephp が自動的にそれを行います。

于 2012-07-27T17:38:10.040 に答える