草庐IT

symfony-components

全部标签

php - Symfony2 MoneyType 与除数 : integer conversion leads to wrong database values

我们将所有与货币相关的值都以美分的形式存储在我们的数据库中(ODM但ORM的行为可能相同)。我们使用MoneyType将面向用户的值(12,34€)转换为他们的美分表示(1234c)。typicalfloatprecision这里出现了问题:由于精度不足,许多情况下会产生舍入误差,而这些误差仅在调试时可见。MoneyType会将传入的字符串转换为可能不精确的float("1765"=>1764.9999999998)。一旦你坚持这些值(value)观,事情就会变得糟糕:classPrice{/***@varint*@MongoDB\Field(type="int")**/protect

php - 异步子进程中的 Symfony2 命令

我是Symfony2的新手,在尝试像这样运行异步命令时被阻止:classMyCommandextendsContainerAwareCommand{protectedfunctionconfigure(){$this->setName('my:command')->setDescription('Mycommand')->addArgument('country',InputArgument::REQUIRED,'Whichcountry?');}protectedfunctionexecute(InputInterface$input,OutputInterface$output){

php - DoctrineMongoDBBundle 在 Symfony2 中出现 fatal error

我按照这里的指示进行操作:http://symfony.com/doc/2.0/bundles/DoctrineMongoDBBundle/index.html我已经安装了deps:#deps[doctrine-mongodb]git=http://github.com/doctrine/mongodb.git[doctrine-mongodb-odm]git=http://github.com/doctrine/mongodb-odm.git[DoctrineMongoDBBundle]git=http://github.com/symfony/DoctrineMongoDBBund

php - Symfony2 嵌入式表单和 MongoDB 问题

我尝试将一个表单类型嵌入到另一个表单类型中:$builder->add('geolocation',newGeolocationType());但是当我尝试将请求绑定(bind)到表单时if($request->getMethod()=='POST'){$form->bindRequest($request);}我得到了错误CatchableFatalError:Argument1passedtoCompany\StoreBundle\Document\Place::setGeolocation()mustbeaninstanceofCompany\StoreBundle\Docume

php - 如何在 symfony 中返回 json 编码格式错误

我想创建一个向其提交表单的Web服务,如果出现错误,则返回一个JSON编码列表,告诉我哪个字段是错误的。目前我只得到错误消息列表,但没有htmlid或有错误的字段名称这是我当前的代码publicfunctionsaveAction(Request$request){$em=$this->getDoctrine()->getManager();$form=$this->createForm(newTaskType(),newTask());$form->handleRequest($request);$task=$form->getData();if($form->isValid()){

php - 使用 symfony2 和 Doctrine 从现有数据库生成单个实体

是否可以使用Symfony2控制台工具从数据库生成单个实体?在编码过程中,我不得不添加一个表,并对现有的实体类进行了修改。所以我不希望我的所有实体都重新生成。任何建议将不胜感激! 最佳答案 我遇到了同样的问题,你必须这样做:phpapp/consoledoctrine:mapping:convertmetadata_format\./src/App/MyBundle/Resources/config/doctrine\--from-database\--filter="Yourtablename"然后phpapp/consoledo

php - 使用 Symfony2/Symfony3 中的 FOSUserBundle 将用户名字段删除/替换为电子邮件

我只想使用电子邮件作为登录方式,我不想拥有用户名。symfony2/symfony3和FOSUserbundle可以吗?我在这里阅读http://groups.google.com/group/symfony2/browse_thread/thread/92ac92eb18b423fe但后来我遇到了两个违反约束的情况。问题是如果用户将电子邮件地址留空,我会得到两个约束违规:请输入用户名请输入邮箱有没有办法禁用给定字段的验证,或者有更好的方法完全从表单中删除一个字段? 最佳答案 需要做什么的完整概述这里是需要做什么的完整概述。我在这篇

php - 如何从 Controller 内部获取 Symfony2 中 web 目录的服务器路径?

问题如下:如何从Controller内部(或因此从其他任何地方)获取Symfony2中web目录的服务器路径我已经找到的(也可以在这里搜索):这在关于Doctrine文件处理的食谱文章中有所建议$path=__DIR__.'/../../../../web';四处寻找,只能在Controller内部使用(或注入(inject)内核的服务):$path=$this->get('kernel')->getRootDir().'/../web';那么,绝对没有办法至少获得路径的“网络”部分吗?例如,如果我决定重命名或移动或其他什么?在第一个symfony中一切都很容易,当我可以通过调用静态s

php - 如何将类属性设置为 Symfony2 表单输入

如何设置HTMLclass属性到表格使用FormBuilder在Symfony2?类似这样的:->add('birthdate','date',array('input'=>'datetime','widget'=>'single_text','attr'=>array('class'=>'calendar'))){{form_widget(form.birthdate)}}我想要这个input属性为class的字段设置为日历 最佳答案 您可以从twig模板中执行此操作:{{form_widget(form.birthdate,{'

php - 在 Symfony 2 中获取所有请求参数

在symfony2Controller中,每次我想从帖子中获取值时,我都需要运行:$this->getRequest()->get('value1');$this->getRequest()->get('value2');有没有办法将这些合并到一个返回数组的语句中?Zend的getParams()之类的东西? 最佳答案 您可以执行$this->getRequest()->query->all();来获取所有GET参数和$this->getRequest()->request->all();获取所有POST参数。所以在你的情况下:$p