ドロップダウンリストにマルチオプションを挿入する必要があります。オプションはデータベースのテーブルから取得したものです。次のような要素を作成しました。
$this->add(array(
'name' => 'company',
'type' => 'Zend\Form\Element\Select',
//'multiOptions'=> $options,
'options' => array(
'label' => 'Company',
),
'attributes' => array(
'style' => "float:right;",
),
));
ドロップダウンリストから、データベースのテーブルにあるいくつかの値を選択したいと思います。たとえば、エンティティContactsがあり、データベース内のcompanysという名前のテーブルにある会社を連絡先として選択する必要があります。
zendフレームワークのサイトを読んだ後、次のコードを使用してみました。
$params = array(
'driver'=>'Pdo_Mysql',
'host'=>'localhost',
'username'=>'root',
'password'=>'',
'dbname' =>'myDataBase'
);
$db = new \Zend\Db\Adapter\Adapter($params);
$sql= new Sql($db);
$select = $sql->select();
$select ->from('companies')
->columns(array('id','company_name'))
->order(" 'company_name' ASC");
また、他のいくつかのサイトで、関数を使用できることを読みました。
$options = $sql->fetchPairs('SELECT id, name FROM country ORDER BY name ASC');
しかし、ZendFramework2にはもう存在しないようです。
みんな、手を貸してください。コードが良くなくて、もっと良いアイデアがあれば教えてください。
前もって感謝します!