遵循此文档
https://sonata-project.org/bundles/admin/master/doc/cookbook/recipe_virtual_field.html
我尝试这样做
<?php
protected function configureFormFields(FormMapper $formMapper)
{
$formMapper
.....
->add('tancar', 'checkbox',array(
'virtual_field' => true
))
出现此错误
选项&#34; virtual_field&#34;不存在。定义的选项包括:&#34;操作&#34;,&#34; allow_extra_fields&#34;,&#34; attr&#34;,&#34; auto_initialize&#34;,&#34; block_name&#34;,& #34; by_reference&#34;,&#34;复合&#34;,&#34;约束&#34;,&#34; csrf_field_name&#34;,&#34; csrf_message&#34;,&#34; csrf_protection&# 34;,&#34; csrf_token_id&#34;,&#34; csrf_token_manager&#34;,&#34;数据&#34;,&#34; data_class&#34;,&#34;禁用&#34;,&# 34; empty_data&#34;,&#34; error_bubbling&#34;,&#34; error_mapping&#34;,&#34; extra_fields_message&#34;,&#34; horizontal_input_wrapper_class&#34;,&#34; horizontal_label_class&#34 ;,&#34; horizontal_label_offset_class&#34;,&#34; inherit_data&#34;,&#34; invalid_message&#34;,&#34; invalid_message_parameters&#34;,&#34; label&#34;,&#34 ; label_attr&#34;,&#34; label_format&#34;,&#34; label_render&#34;,&#34;映射&#34;,&#34;方法&#34;,&#34; post_max_size_message&#34; ,&#34; property_path&#34;,&#34; required&#34;,&#34; sonata_admin&#34;,&#34; sonata_field_description&#34;,&#34; sonata_help&#34;,&#34; translat ion_domain&#34;,&#34; trim&#34;,&#34; upload_max_size_message&#34;,&#34; validation_groups&#34;,&#34; value&#34;。
出了什么问题?
答案 0 :(得分:0)
你可以试试这个:
->add('_action', null, [
'virtual_field' => true,
'actions' => [
'edit' => [],
'delete' => [],
],
]);
因为virtual_field
适用于_action
或batch
。在Documention&#34;包括各种Mappers中的某些字段不依赖于模型中的任何实际字段(例如,_action或batch)。&#34;
答案 1 :(得分:0)
因为看起来这个选项在listMapper中使用,我已经解决了在实体中创建这个方法的问题:
<?php
public function getTancar()
{
return false;
}
public function setTancar($value)
{
}
然后,我可以在控制器或Admin类中获取此参数(例如,postUpdate方法)