1

次のような単純な1対多の関係を持つデータベースがあります。

テーブル会社カテゴリー
行IDID
         名前名前
         Category_ID

会社名またはカテゴリ名を追加、編集、削除できるフォームがありますが、これは問題なく機能します。IDでカテゴリを入力することもできますが、使用するのは明らかにひどいです。私が欲しいのは、既存のカテゴリから選択するフォームの単純な選択要素です。

生成する必要のあるコード<select>は次のとおりです。

$this->add(array(
        'name' => 'Categorie',
        'type'  => 'Zend\Form\Element\Select',
        'attributes' => array(
            'options'  => $categories,
        ),
        'options' => array(
            'label' => 'Categorie',
        ),
));

(非常にまばらな)ZF2ドキュメントで見つけたものから、変数にHydratorデータをフェッチするためにを使用する必要がありますが、そこからどこに行くべきかわかりません。$categories

どんな種類の例やヒントもいただければ幸いです。

4

1 に答える 1

3

フォームに関する非常に優れた記事があります

私のソリューションはこのチュートリアルに基づいており、(ほぼ)うまく機能しています。プロジェクトにDoctrineを使用するかどうかはわかりませんが、非常に良いアイデアだと思います。

また、select要素を多用しています。指定されたフィールドセットで、次のコードを使用してselectの値オプションを生成します。

$opt= Registry::get('entityManager')->getRepository('My\Entity\Categories')
                ->getCategoriesForCombobox();
$this->get('category')->setValueOptions($opt);

Doctrineを使用する(計画している)場合は、Doctrineのドキュメントでリポジトリについて注意深く読む必要があります。フォームでコレクションを使用する場合は、関連付けに関するトピックも必読です。

于 2012-10-30T08:49:56.643 に答える