我正在尝试从命令行创建一个新用户并收到此错误:
Warning: array_search() expects parameter 2 to be array, null given
in /vendor/friendsofsymfony/user-bundle/FOS/UserBundle/Model/User.php line 368
当尝试通过webinterface注册来创建用户时,我得到了这个:
SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'salt' cannot be null
使用现有用户登录有效。还要更新配置文件并更改密码。只是创建新用户不起作用。
我在非常简单的设置中使用v 1.3.1并且还没有找到任何解决方案。
有什么想法吗?
答案 0 :(得分:144)
固定!
我的User实体中有一个自定义构造函数方法。在那里,我忘了用parent::__construct();
答案 1 :(得分:5)
也许它有助于某人。使用bcrypt encoder时可以看到此错误。
Unable to to access index repository http://xxx.xx.xx/minicran/src/contrib
要解决此问题,只需在User类中为salt属性添加映射覆盖(使其可为空)
SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'salt' cannot be null
OR:不要忘记更新您的架构。如果在作曲家更新后发生错误!
use FOS\UserBundle\Model\User as BaseUser;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity
* @ORM\AttributeOverrides({
* @ORM\AttributeOverride(
* name="salt",
* column=@ORM\Column(name="salt", type="string", nullable=true)
* )
* })
*/
class User extends BaseUser {
...
}