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

laravel Store Data in manay to manay relationship

السؤال

Recommended Posts

  • 0
نشر

عند تعريف العلاقة تستخدم التابع withPivot حتى يتم جلب الحقول الإضافية و withTimestamps لجلب حقول الوقت: created_at، updated_at

return $this->belongsToMany(Role::class)->withTimestamps()->withPivot('active');

عند ربط مستخدم بدور محدد مثلاً يُمكنك اضافة القيمة التي تريدها للحقل الموجود في الجدول الوسيط بالشكل التالي:

$user = User::find(1);

$user->roles()->attach(1, ['active' => 1]);

بإمكانك إستخدام التابع updateExistingPivot للتعديل على سجل ما:

$user = User::find(1);
 
$user->roles()->updateExistingPivot($roleId, [
    'active' => 1,
]);

يُمكنك أيضاً إنشاء صنف نموذج خاص بالجدول الوسيط يرث من الصنف Pivot من خلاله تتعامل مع الجدول بشكل عادي:

<?php
 
namespace App\Models;
 
use Illuminate\Database\Eloquent\Relations\Pivot;
 
class RoleUser extends Pivot
{
    //
}

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...