ZF2从数据库中动态添加元素

时间:2016-03-18 18:36:47

标签: php zend-framework2

在ZF2中,我从控制器工厂获得这样的表格:

RegistrationForm

MultiCheckBox中,我有 $this->add([ 'type' => 'Zend\Form\Element\MultiCheckBox', 'name' => 'partyRoleIds', 'options' => [ 'label' => 'Отношение', 'value_options' => [ [ 'value' => '1', 'label' => 'client', ], [ 'value' => '2', 'label' => 'prospect'], [ 'value' => '6', 'label' => 'contractor', ], ], ], ]);

value_options

我想从返回类似[1 => 'client', 2 => 'prospect'...]的数组的db查询中填充RegistrationForm。填充不是问题,但我不知道如何将此数组作为依赖项传递到$registrationForm = $realServiceLocator->get('FormElementManager')->get('Path\To\My\Form\RegistrationForm');,因为在调用/v2/chats中,我没有任何地方可以添加依赖。

我怎么能这样做?

PS:重写了这个问题,请原谅我最初的简洁。

1 个答案:

答案 0 :(得分:1)

在表单类中添加方法:

<a href="//google.co.uk">
  <div class="button" id="button=popup">Download Codes</div>
</a>

在你的控制器中,如果你的表格是$ registrationForm你写的:

class UserManager @Inject constructor(
        val prefs: SharedPreferences,
        val jsonAdapter: JsonAdapter<User>
    ) {

    companion object {
        val USER = "user"
    }

    var user: User = User()
        set(value) {
            field = value
            prefs.edit().putString(USER, jsonAdapter.toJson(user)).apply()
        }

    init {
        val userString = prefs.getString(USER, null)
        if (userString != null) {
            user = jsonAdapter.fromJson(userString)
        }
    }
}

其中$ valueOptions是一个类似于样本的数组。