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

السؤال

نشر

يظهر لي هذا الخطا عند عمل علاقه many to many في لارافيل
imageproxy.php?img=&key=e4ac65570db3469d3.thumb.png.6c784570d98ea03d7fce8e529cb80558.png
وهذه الاكواد اللتى قمت بكتابتها في المشروع
 

create_projects_doctors.php

في ملف ال migrations

  public function up()
    {
        Schema::create('projects_doctors', function (Blueprint $table) {
            $table->id();
            $table->foreignId('doctors_id');
            $table->foreignId('projects_id');
            $table->timestamps();


            $table->foreign('doctors_id')
                ->references('id')
                ->on('doctors')
                ->onDelete('cascade');


            $table->foreign('projects_id')
                ->references('id')
                ->on('projects')
                ->onDelete('cascade');

            // $table->unique(['doctors_id', 'projects_id']);
        });
    }
//Models doctors//

    public function projects()
    {
        return $this->belongsToMany(project::class, 'projects_doctors');
    }
//Models Project//


 public function doctors()
    {
        return $this->belongsToMany(doctors::class, 'projects_doctors');
    }
//DoctorsController 

public function index()
    {
      
        $doctors = doctors::find(1);
        $doctors->projects;
        dd($doctors);
        return view('doctors.index', compact(['doctors']));
    }

 

Recommended Posts

  • 0
نشر

حسب الخطأ، ربما يوجد اختلاف باسم العمود والسبب حالة الجمع أي حرف S 

projects_id 
       ^
project_id

أرجو تجريب عمل الحقول بدون S

        Schema::create('projects_doctors', function (Blueprint $table) {
            $table->id();
            $table->foreignId('doctor_id');
            $table->foreignId('project_id');
            $table->timestamps();


            $table->foreign('doctor_id')
                ->references('id')
                ->on('doctors')
                ->onDelete('cascade');


            $table->foreign('project_id')
                ->references('id')
                ->on('projects')
                ->onDelete('cascade');

            // $table->unique(['doctors_id', 'projects_id']);
        });

 

  • 0
نشر
بتاريخ 13 دقائق مضت قال Wael Aljamal:

حسب الخطأ، ربما يوجد اختلاف باسم العمود والسبب حالة الجمع أي حرف S 


projects_id 
       ^
project_id

أرجو تجريب عمل الحقول بدون S


        Schema::create('projects_doctors', function (Blueprint $table) {
            $table->id();
            $table->foreignId('doctor_id');
            $table->foreignId('project_id');
            $table->timestamps();


            $table->foreign('doctor_id')
                ->references('id')
                ->on('doctors')
                ->onDelete('cascade');


            $table->foreign('project_id')
                ->references('id')
                ->on('projects')
                ->onDelete('cascade');

            // $table->unique(['doctors_id', 'projects_id']);
        });

 

لا اعتقد ذلك
لقد اضفت بيانات في قاعدة البيانات بشكل طبيعى لكن في لارافيل عن عرضها لا اعرف المشكله اين يظهر لى خطا كما في الصورة السابقه
 

3.png

3.png

  • 1
نشر
بتاريخ 9 دقائق مضت قال أحمد مصطفى كامل:

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

حاول تعديل علاقة الربط بين النماذج مع الجدول الوسيط

//Models doctors//

    public function projects()
    {
        return $this->belongsToMany(project::class, 'projects_doctors', 'projects_id', 'doctors_id');
    }
//Models Project//


 public function doctors()
    {
        return $this->belongsToMany(doctors::class, 'projects_doctors', 'doctors_id', 'projects_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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...