我尝试使用以下命令从命令窗口创建具有FOsUserBundle的管理员用户:
php app/console fos:user:create
Run Code Online (Sandbox Code Playgroud)
在我的项目中,管理员用户以强制性的方式扩展其他用户.所以,当我选择用户名,邮件和密码时,它会告诉我:
SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'latitude' cannot be null
Run Code Online (Sandbox Code Playgroud)
如何在AdminUser中设置值"latitude"?我也使用PUGXMultiUserBundle.
我正在尝试按照此处的教程安装FOSUserBundle
当我在第7步时,我尝试更新ORM运行的数据库模式
php app/console doctrine:schema:update --force
但出现错误
InvalidConfigurationException: Unrecognized options "csrf_provider" under "security.firewalls.form_login"
Run Code Online (Sandbox Code Playgroud)
这是我的防火墙:
firewalls:
main:
pattern:
form_login:
provider: fos_userbundle
csrf_provider: form.csrf_provider
logout: true
anonymous: true
Run Code Online (Sandbox Code Playgroud)
我能做什么?我没有设置模式因为,如果我设置类似的东西
pattern: ^/
Run Code Online (Sandbox Code Playgroud)
出现以下错误:
InvalidTypeException:路径"security.firewalls.pattern"的类型无效.预期的数组,但得到了字符串
更新:
csrf_protection已启用,但由于某些原因,我不明白,不起作用.我试图"重置"它,禁用和启用,现在它可以正常工作.在我的项目中,我启用它
csrf_protection: ~
Run Code Online (Sandbox Code Playgroud) 我是Symfony的新手,我正在尝试使用FosUserBundle向用户注册一个ROLE,但我无法管理如何做到这一点.实际上我还集成了PUGXMultiUserBundle,以便为两个不同的角色提供两种不同的形式.谁能帮我?
提前致谢
--UPDATE--
我报告我的代码是为了清楚地解释.我用PUGXMultiUserBundle的指南创建了这个文件
这是我的实体:
//C:\BitNami\wampstack-5.4.23-0\frameworks\symfony\src\Acme\ManagementBundle\Entity\UserGroundStation.php
<?php
namespace Acme\ManagementBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use PUGX\MultiUserBundle\Validator\Constraints\UniqueEntity;
/**
* @ORM\Entity
* @ORM\Table(name="user_GroundStation")
* @UniqueEntity(fields = "username", targetClass = "Acme\ManagementBundle\Entity\User", message="fos_user.username.already_used")
* @UniqueEntity(fields = "email", targetClass = "Acme\ManagementBundle\Entity\User", message="fos_user.email.already_used")
*/
class UserGroundStation extends User
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
}
Run Code Online (Sandbox Code Playgroud)
这是控制器
C:\BitNami\wampstack-5.4.23-0\frameworks\symfony\src\Acme\ManagementBundle\ControllerRegistrationController.php
<?php
namespace Acme\ManagementBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
class RegistrationController extends Controller
{
public function registerUserGroundStationAction()
{
return $this->container
->get('pugx_multi_user.registration_manager')
->register('Acme\ManagementBundle\Entity\UserGroundStation');
}
}
Run Code Online (Sandbox Code Playgroud)
抱歉这个愚蠢的问题,但这是我的第一个项目,我觉得有点不对劲.
--update - …
我使用 Symfony2 制作了一个 Web 应用程序,其中用户具有数组关联 ManytoMany 与实体 Mission。用户可以通过表单上传实体$product,表单传递的数据之一就是与用户关联的任务。
当我尝试上传数据时,出现错误:
ContextErrorException: Catchable Fatal Error: Object of class
Doctrine\ORM\PersistentCollection could not be converted to string in
C:\BitNami\wampstack-5.4.23-
0\frameworks\symfony\vendor\doctrine\dbal\lib\Doctrine\DBAL\Statement.php line 103
Run Code Online (Sandbox Code Playgroud)
很明显,Doctrine 不知道如何保存任务的价值。
我该如何管理?
我也不知道如何在我的产品实体中声明任务对象。现在就是这样:
/**
* @var string
*
* @ORM\Column(name="mission", type="string", length=255)
*/
protected $mission;
Run Code Online (Sandbox Code Playgroud)
更新 - -
我的控制器现在是:
$form = $this->createFormBuilder($product)
->add('name', 'text')
->add('mission', 'entity', array('required' => true, 'multiple' => false, 'class' => 'AcmeManagementBundle:Mission', 'query_builder' => function($repository) { return $repository->createQueryBuilder('c')->orderBy('c.id', 'ASC'); },))
//...
->add('save', 'submit')
->getForm();
Run Code Online (Sandbox Code Playgroud)
更新 - -
现在工作,但我有一个问题。当出现上传 …
我是python和编程的新手,所以如果这是一个"noob问题",我很抱歉.无论如何,是否可以在python中选择多项选择,而不使用if循环?
愚蠢的例子:
print "Do you want to enter the door"
raw_input ("Yes or not")
Run Code Online (Sandbox Code Playgroud)
并且用户只能在选择之间进行选择.
我用Symfony2创建了一个Web应用程序,我正在使用PUGX User Bundle和FosUserBundle来管理2个不同的用户.
这是两个用户之一:
/**
* @ORM\Entity
* @ORM\Table(name="user_Operator")
* @ORM\HasLifecycleCallbacks()
* @UniqueEntity(fields = "username", targetClass = "Acme\ManagementBundle\Entity\User", message="Username already_used")
* @UniqueEntity(fields = "email", targetClass = "Acme\ManagementBundle\Entity\User", message="Email already_used")
*/
class UserOperator extends User
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @ORM\PrePersist
*/
public function setCreatedAtValue()
{
$this->addRole('ROLE_OPERATOR');
}
}
Run Code Online (Sandbox Code Playgroud)
当我尝试注册时,我填写表单,提交,而不是出现:
Warning: in_array() expects parameter 2 to be array, null given in C:\BitNami\wampstack-
5.4.23-0\frameworks\symfony\vendor\friendsofsymfony\user-
bundle\FOS\UserBundle\Model\User.php line 142
Run Code Online (Sandbox Code Playgroud)
第142行如下:
135 public function addRole($role)
{
$role …
Run Code Online (Sandbox Code Playgroud)