Api呼び出しから選択リストを作成する必要があります。私は成功せずにいくつかのアプローチを試みました。
最善の方法は、ChoiceListInterfaceを実装することだと思います。
誰かがすでにそれをしましたか?
ありがとう
LazyChoiceListを拡張し、 loadChoiceListメソッドを実装します。
//ApiChoiceList.php
namespace Your\Namespace;
use Symfony\Component\Form\Extension\Core\ChoiceList\LazyChoiceList;
use Symfony\Component\Form\Extension\Core\ChoiceList\ChoiceList;
class ApiChoiceList extends LazyChoiceList
{
protected function loadChoiceList()
{
//fetch and process api data
return new ChoiceList($choices, $labels);
}
}
そして、buildForm
あなたのフォームのあなたの方法で、
$builder->add('fieldname', 'choice', array(
'choice_list' => new Your\Namespace\ApiChoiceList(),
//....
));