محمد لارافيل نشر 18 أبريل 2023 أرسل تقرير نشر 18 أبريل 2023 أقوم بإنشاء مستخدم ثم بربطه بالأدوار المحددة من خلال علاقة كثير إلى كثير واستخدم لذلك الدالة sync. هاذا هو الكود: $user = User::firstOrCreate([ 'username' => $row['username'], ],[ 'name' => $row['name'], 'surname' => $row['surname'], 'email' => $row['email'], ]); $user->roles()->sync(explode(',', $row['roles'])); لكن يفشل تنفيذ الدالة sync، لأنه لم يتم انشاء مستخدم ويظهر هذا الخطأ SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'user_id' cannot be null (SQL: insert into `user_role` (`role_id`, `user_id`) values (1, ?)) هل يمكنكم مساعدتي؟ اقتباس
0 Thaer Alhabbash نشر 1 أغسطس 2023 أرسل تقرير نشر 1 أغسطس 2023 الخطأ انه لا يوجد id للمستخدم , وهذا يدل على انه لم تتم عملية انشاء المستخدم ولكي تتأكد انه بالفعل تم انشاء مستخدم او لا قم بتطبيق الكود التالي : $user = User::firstOrCreate([ 'username' => $row['username'], ],[ 'name' => $row['name'], 'surname' => $row['surname'], 'email' => $row['email'], ]); if (!$user) { dd("User creation failed"); } $user->roles()->sync(explode(',', $row['roles'])); و بالتالي اذا فعليا لم يتم انشاء مستخدم فهذا يعني ان عملية انشاء المستخدم خاطئة , لذلك حاول التأكد من اسم المستحدم صحيح او أنه لا يوجد قيود تحقق عليه . اقتباس
السؤال
محمد لارافيل
أقوم بإنشاء مستخدم ثم بربطه بالأدوار المحددة من خلال علاقة كثير إلى كثير واستخدم لذلك الدالة sync. هاذا هو الكود:
$user = User::firstOrCreate([ 'username' => $row['username'], ],[ 'name' => $row['name'], 'surname' => $row['surname'], 'email' => $row['email'], ]); $user->roles()->sync(explode(',', $row['roles']));
لكن يفشل تنفيذ الدالة sync، لأنه لم يتم انشاء مستخدم ويظهر هذا الخطأ
SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'user_id' cannot be null (SQL: insert into `user_role` (`role_id`, `user_id`) values (1, ?))
هل يمكنكم مساعدتي؟
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.