我有这样的表:书和人。一本书可以在一个人的手中。我在gii中为book创建了表单。在表格中,我可以写一本书的名字,然后选择一个拿着这本书的人。在书的控制器中我写了
class CreateContactView(LoginRequiredMixin, CreateView):
template_name = 'contacts/contact_form.html'
form_class = ContactForm
form_class.helper.form_action = ""
model = Contact
success_url = reverse_lazy('contacts:list_contacts')
“persons_dropdown”是数组,如1 =>“John Smith”,2 =>“Stan Green”。 函数getDropdown是:
return $this->render('create', [
'model' => $model,
'persons_dropdown' => getDropdown('app\models\Person', 'name'),
]);
问题是 - 我应该在哪里替换函数getDropdown()(此函数是任何控制器的通用函数,它将在某些控制器中使用)?或者我可以通过yii工具获得必要的数组,而不需要我的功能。
答案 0 :(得分:1)
一个好的解决方案是为这种类型的函数创建一个帮助器
基本上你可以在你的模型中创建一个合适的类,然后通过声明(public static)来引用相关的函数/方法
use common/models/YourHelper;
YourHelper::yourMethod();
有人创建了个人供应商,并在辅助子目录
中添加了这种常用功能