اذهب إلى المحتوى

السؤال

نشر
Schema::create('users', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->string('email')->unique();
$table->timestamp('email_verified_at')->nullable();
$table->string('password');
$table->rememberToken();
$table->timestamps();
});


Schema::create('roles', function (Blueprint $table) {
$table->id();
$table->string("name");
$table->timestamps();
});

Schema::create('role_users', function (Blueprint $table) {
            $table->bigInteger('users_id')->unsigned();
            $table->bigInteger('roles_id')->unsigned();

            $table->primary(['users_id','roles_id']);

        });
    }

حطيت هذول الجداول 

في مودل 
class User extends Authenticatable{
   public function Role()
    {
        return $this->belongsToMany(Role::class);
    }

}
class Role extends Model
{
    use HasFactory;
    public function users()
    {
        return $this->belongsToMany(User::class);
    }

}
في قاعدة البيانات عبيت الحقول 


جيت ابغا استعلم عن صلاحيات مثلا العضو 
Route::get('/user', function () {
    $user = new User;
    return     $user->Role;
});
يطلع اقواس مربعة فارغه ليش  شالمشكلة 

 

Recommended Posts

  • 0
نشر
Route::get('/inser_role', function () {

    $Role = Role::create([

        'name'=>'super'

    ]);

    $user = new User;



    return $user->Role()->sync([2,$Role]);

});

يطلع خطا ابغا اجرب هذي 

SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'users_id' cannot be null (SQL: insert into `role_users` (`roles_id`, `users_id`) values (2, ?))
Route::get('/inser_role', function () {

    $Role = Role::create([

        'name'=>'super'

    ]);

    $user = new User;



    return $user->Role()->sync([2,2]);

});

 

  • 0
نشر
بتاريخ منذ ساعة مضت قال hanan fahad11:

Route::get('/inser_role', function () {

    $Role = Role::create([

        'name'=>'super'

    ]);

    $user = new User;



    return $user->Role()->sync([2,$Role]);

});

يطلع خطا ابغا اجرب هذي 


SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'users_id' cannot be null (SQL: insert into `role_users` (`roles_id`, `users_id`) values (2, ?))

Route::get('/inser_role', function () {

    $Role = Role::create([

        'name'=>'super'

    ]);

    $user = new User;



    return $user->Role()->sync([2,2]);

});

 

الخطأ يخبرك أن حقل user_id لا يجب أن يكون فارغ , تأكدي من إسناد قيمة لهذا الحقل , أو قومي بإضافة هذا الحقل إلى مصفوفة fillable$ في ملف المودل 

protected $fillable = ['user_id'];

يمكنك إسناد قيمة لهذا الحقل بهذا الطريقة 

$Role = Role::create([
        'name'=>'super',
		'user_id => 1,
]);

أو 

$Role = Role::create([
        'name'=>'super',
		'user_id => $id,
]);

أو إذا كنتي تقومين بإرسال البيانات عن طريق فورم 

$Role = Role::create([
        'name'=>'super',
		'user_id => $request->user_id,
]);

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...