• 0

كيف عمل علاقه many to many laravel

كيف عمل علاقه many to many laravel

1 شخص أعجب بهذا

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 0

تستخدم هذه العلاقة للربط بين الجداول عندما يكون كل سجل في الجدول الأول يقابله أكثر من سجل في الجدول الثاني ويكون كل سجل في الجدول الثاني يقابله أكثر من سجل في الجدول الأول. فيتم إنشاء جدول ليكون وسيط بين هذين الجدولين.

يمكن عمل هذه العلاقة فمثلاً إذا كان لديكي أكثر من جدول فليكن مثل 

posts
	id
	name
roles 
	id 
	name
roles_user 
	user_id
	role_id

وملف model الخاص posts هو 

<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;

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

بمجرد تحديد العلاقة, يمكنك الوصول إلى أدوار المستخدم باستخدام خاصية العلاقة الديناميكية للأدوار:

use App\Models\User;
$user = User::find(1);
foreach ($user->roles as $role){
	//هنا تكتب النتائج الذي تود طباعتها
}

يمكنك القراءة أكثر من هنا

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 0

لتعريف علاقة many to many نحتاج الى 3 جداول, لنفترض أنه لدينا الجدوال الآتية users و roles و role_user, الجدول role_user يعرف بما يسمى جدول الكسر ويحتوي على الحقلين user_id و role_id
في الموذج user

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class User extends Model
{
   
   public function roles()
   {
       return $this->belongsToMany('App\Role');
   }
}

كما تلاحظي قمت بانشاء التابع roles الذي يعيد جميع الأدوار الخاصة بالمستخدم, يمكن استدعاء التابع roles كالآتي

$roles = App\User::find(1)->roles()->get();

في النموذج role أيضا

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Role extends Model
{
   
   public function users()
   {
       return $this->belongsToMany('App\User');
   }
}

يمكنك قراءة المزيد عن العلاقة من موسوعة حسوب , يمكنك الذهاب الى العلاقة مباشرة من هنا

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 0

عملته وماضبط ولايرحل الجدول الوسيط 

new.rar

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 0
بتاريخ 3 دقائق مضت قال hanan fahad11:

عملته وماضبط ولايرحل الجدول الوسيط 

new.rar

هل ممكن شرح أكثر للمشكلة مع وضع نص للمشكلة إذا كان يظهر.

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 0

لوتصلح لي العلاقه بالملف وترسله اكون شاكرة لك لاني ماضبط معي 

Capture.PNG

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 0
بتاريخ 16 دقائق مضت قال hanan fahad11:

لوتصلح لي العلاقه بالملف وترسله اكون شاكرة لك لاني ماضبط معي 

 

لاحظي أن المشكلة هي في جدول products يوجد حقلين باسم id يجب إزالة أحدهم 

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن