2013-01-11 22 views
46

मैं कमांड लाइन से एक नया उपयोगकर्ता इस त्रुटि बना सकते हैं और प्राप्त करने के लिए कोशिश कर रहा हूँ:FOSUserBundle के साथ एक नया उपयोगकर्ता बनाने में विफल रहता है

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 का उपयोग कर रहा हूं और अभी तक कोई समाधान नहीं मिला है।

कोई भी विचार?

उत्तर

143

फिक्स्ड!

मेरे पास मेरी उपयोगकर्ता इकाई में एक कस्टम कन्स्ट्रक्टर विधि थी। वहां मैं माता-पिता के कन्स्ट्रक्टर को parent::__construct();

5

के साथ कॉल करने के लिए भूल गया था शायद यह किसी की मदद कर सकता है। Bcrypt एन्कोडर का उपयोग करते समय आप यह त्रुटि देख सकते हैं। मत भूलना अपने स्कीमा अद्यतन:

SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'salt' cannot be null 

हल करने के लिए इस मुद्दे को सिर्फ अपने उपयोगकर्ता कक्षा में नमक विशेषता के लिए मानचित्रण ओवरराइड जोड़ने (यह नल बनाने)

use FOS\UserBundle\Model\User as BaseUser; 
use Doctrine\ORM\Mapping as ORM; 

/** 
* @ORM\Entity 
* @ORM\AttributeOverrides({ 
* @ORM\AttributeOverride(
*  name="salt", 
*  [email protected]\Column(name="salt", type="string", nullable=true) 
*  ) 
* }) 
*/ 
class User extends BaseUser { 
    ... 
} 

या। यदि संगीत अद्यतन के बाद त्रुटि खुशी हुई है!

bin/console doctrine:schema:update --force