Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

सत्यनिष्ठा बाधा उल्लंघन:1048 कॉलम 'user_id' शून्य नहीं हो सकता है, भूमिकाएँ निर्दिष्ट करते समय त्रुटि होती है (लारवेल 5.3)

यहां समस्या यह है कि आप किसी मौजूदा उपयोगकर्ता को भूमिका नहीं देते हैं, आप बस दौड़ते हैं:

$roleuser = new User;

उपयोगकर्ता ऑब्जेक्ट बनाने के लिए जो डेटाबेस में सहेजा नहीं गया है।

इसके बजाय आपको कुछ ऐसा करना चाहिए:

$roleuser = User::find(1); // find user with id 1
$user_superadmin = Role::where('role_desc', 'Superadmin')->first();
$roleuser->roles()->attach($user_superadmin); /*this line specifically*/

या

$roleuser = User::create(['name' => 'Sample user']); // create sample user
$user_superadmin = Role::where('role_desc', 'Superadmin')->first();
$roleuser->roles()->attach($user_superadmin); /*this line specifically*/

आपको $roleuser . का भी उपयोग नहीं करना चाहिए यहाँ परिवर्तनशील है, क्योंकि यह स्पष्ट रूप से $user है



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. उप-चाइल्ड को चाइल्ड से पैरेंट टेबल्स में प्राप्त करने से SQL क्वेरी

  2. MySQL JDBC ड्राइवर में cachePrepStmts और useServerPrepStmts में क्या अंतर है

  3. MySQL प्रविष्टियों के साथ ड्रॉप डाउन को पॉप्युलेट करना

  4. चेतावनी:मेल () [फ़ंक्शन.मेल]:लोकलहोस्ट पोर्ट 25 पर मेलसर्वर से कनेक्ट करने में विफल

  5. MySql लास्ट इंसर्ट आईडी, कनेक्टर .net