我已经创建了一个用户注册表,就像在文档中一样.稍后我想添加CSRF.从那以后它再也不能正常工作了.我安装并删除了包. https://symfony.com/doc/current/doctrine/registration_form.html
composer require security-csrf
composer remove security-csrf
rm -rf vendor
rm -rf var/cache/*
Run Code Online (Sandbox Code Playgroud)
这没有用.
当我填写表格并提交.如果用户已保存.我第二次,我收到下面的错误消息.
只有当我在浏览器中删除cookie"PHPSESSID"时,我才能再次发送表单.之后再次出现同样的问题.
PDOException:
There is already an active transaction
at vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php:1249
at PDO->beginTransaction()
(vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php:1249)
at Doctrine\DBAL\Connection->beginTransaction()
(vendor/doctrine/orm/lib/Doctrine/ORM/UnitOfWork.php:376)
at Doctrine\ORM\UnitOfWork->commit(null)
(vendor/doctrine/orm/lib/Doctrine/ORM/EntityManager.php:358)
at Doctrine\ORM\EntityManager->flush()
(src/Controller/RegistrationController.php:40)
at App\Controller\RegistrationController->registerAction(object(Request), object(UserPasswordEncoder))
(vendor/symfony/http-kernel/HttpKernel.php:149)
at Symfony\Component\HttpKernel\HttpKernel->handleRaw(object(Request), 1)
(vendor/symfony/http-kernel/HttpKernel.php:66)
at Symfony\Component\HttpKernel\HttpKernel->handle(object(Request), 1, true)
(vendor/symfony/http-kernel/Kernel.php:190)
at Symfony\Component\HttpKernel\Kernel->handle(object(Request))
(public/index.php:37)
Run Code Online (Sandbox Code Playgroud)
我试着调试一下.交易在某处激活,然后不再激活.我找不到问题.有人能帮助我吗?
的symfony /配置/ services.yaml
services:
Symfony\Component\HttpFoundation\Session\Storage\Handler\PdoSessionHandler:
arguments:
- !service { class: PDO, factory: 'database_connection:getWrappedConnection' }
- { db_table: session, db_username: username, db_password: password }
Run Code Online (Sandbox Code Playgroud) 我想将 json 转换为对象/模型。如果 json 只是一维的,它可以完美地工作。
但是如果它是多维的,则只转换外部(用户),而不转换内部(公司),这仍然是一个数组。你能帮我解决这个问题吗?
模型:
<?php
namespace AppBundle;
class Company {
/**
* @var string
*/
protected $companyName = '';
/**
* @return string
*/
public function getCompanyName()
{
return $this->companyName;
}
/**
* @param string $companyName
* @return void
*/
public function setCompanyName($companyName)
{
$this->companyName = $companyName;
}
}
class User {
/**
* @var \AppBundle\Company
*/
protected $company = null;
/**
* @var string
*/
protected $username = '';
/**
* @return \AppBundle\Company
*/
public function …Run Code Online (Sandbox Code Playgroud)