symfony 2.3中的新增功能该composer install脚本还将parameters.yml.dist文件内容复制到parameters.yml文件中,此处进一步说明.
我的问题是,如何阻止作曲家执行此操作?
我正在创建带有未映射字段的表单,如表单文档中所述.
但是当我在控制器或类似的时候我想访问它时,目前我正在使用POST请求数组并从那里出来:
$postData = $this->getRequest()->request->get('my_form_name');
$unmappedField = $postData['unmapped_field']
Run Code Online (Sandbox Code Playgroud)
我不禁想到这不是最好的方法,我在官方文档上找不到任何东西.
有比这更好的方法吗?
我试图重现这个查询:
SELECT * FROM `request_lines`
where request_id not in(
select requestLine_id from `asset_request_lines` where asset_id = 1
)
Run Code Online (Sandbox Code Playgroud)
在doctrine查询构建器中,我被困在where_id不在的位置(选择
我目前有:
$linked = $em->createQueryBuilder()
->select('rl')
->from('MineMyBundle:MineRequestLine', 'rl')
->where()
->getQuery()
->getResult();
Run Code Online (Sandbox Code Playgroud) 我需要知道symfony项目中的数据库名称和数据库服务器名称.如何在symfony中使用编程方式访问当前数据库连接设置(使用Doctrine)?
我有一个扩展UserManager的服务,所以当我这样做时:
$message = \Swift_Message::newInstance()
->setSubject('~')
->setFrom('~')
->setTo('~')
->setBody('~', 'text/html');
$this->get('mailer')->send($message);
Run Code Online (Sandbox Code Playgroud)
我收到错误:
Fatal error: Call to undefined method My\MyBundle\Service\ServiceClass::get()
Run Code Online (Sandbox Code Playgroud)
我知道这是因为我需要将swiftmailer注入这里,但是如何?(通常服务类扩展'Generic',因此包含了swift邮件程序.)
我正在使用一个监听器来持久化和更新教义.
唯一的问题是,当调用侦听器时,它会创建并更新新的/当前实体,因此它会再次调用自身,从而创建两个实体.
我能想到阻止这种情况的唯一方法是有一个全局变量来知道我们是否持久化(创建)一个实体而不是调用使用更新侦听器.
我知道这是错误的,并且必须有一种更好的方法来创建一个更新和创建其他实体而不再调用自己的侦听器.
我有以下silex代码在完成时呈现一个简单的表单和消息:
$app->register(new Silex\Provider\FormServiceProvider\FormServiceProvider());
$app->register(new Silex\Provider\ValidatorServiceProvider());
$app->match('/contact', function(Request $request) use ($app) {
$form = $app['form.factory']->createBuilder('form', null)
->add('name', 'text', array('required' => true, 'label' => 'Name',))
->add('submit', 'submit')
->getForm();
$form->handleRequest($request);
if ($form->isValid()) {
die('success);
}
return $app['twig']->render('contact.html.twig', array(
'form' => $form->createView(),
));
Run Code Online (Sandbox Code Playgroud)
但是在表单提交时,我会收到错误消息:
Call to undefined method Symfony\\Component\\Validator\\ExecutionContext::getValidator()
in /home/user/project/vendor/symfony/form/Symfony
/Component/Form/Extension/Validator/Constraints/FormValidator.php on line 56
Run Code Online (Sandbox Code Playgroud)
我正在注册上面的ValidatorServiceProvider,所以我很难理解它可能是什么.
symfony ×7
doctrine ×3
forms ×2
validation ×2
composer-php ×1
doctrine-orm ×1
entity ×1
listener ×1
parameters ×1
silex ×1
swiftmailer ×1
symfony1 ×1