Преглед на файлове

Изменил отношения в таблице:многие ко многим

loparev@kansk-tc.ru преди 4 години
родител
ревизия
7f3e6c0176

+ 1 - 1
src/server/app/Models/Courses.php

@@ -9,6 +9,6 @@ class Courses extends Model
 {
     use HasFactory;
    public function teachers(){
-       return $this->hasMany(Teachers::class);
+       return $this->belongsToMany(Teachers::class);
    }
 }

+ 2 - 2
src/server/app/Models/Teachers.php

@@ -10,7 +10,7 @@ class Teachers extends Model
 {
     use HasFactory;
     protected $hidden = ['password'];
-    public function teacher(){
-//        return $this->belongsTo('App\Models\Courses','teacher_id');
+    public function courses(){
+        return $this->belongsToMany(Courses::class);
     }
 }

+ 1 - 1
src/server/database/factories/CoursesFactory.php

@@ -29,7 +29,7 @@ class CoursesFactory extends Factory
             'forma'=>$this->faker->randomElement(array('Очная','Заочная','Дистанционная')),
             'level'=>$this->faker->text(7),
             'hours'=>$this->faker->numberBetween(32,64),
-            'teacher_id'=>$this->faker->numberBetween(1,5)
+//            'teacher_id'=>$this->faker->numberBetween(1,5)
                 //
         ];
     }

+ 2 - 2
src/server/database/migrations/2021_05_25_042104_create_courses_table.php

@@ -22,11 +22,11 @@ class CreateCoursesTable extends Migration
             $table->string('forma');
             $table->string('level');
             $table->integer('hours');
-            $table->unsignedBigInteger('teacher_id')->nullable();
+//            $table->unsignedBigInteger('teacher_id')->nullable();
             $table->unsignedBigInteger('organisation_id')->nullable();
             $table->timestamps();
 
-            $table->foreign('teacher_id')->on('teachers')->references('id');
+//            $table->foreign('teacher_id')->on('teachers')->references('id');
             $table->foreign('organisation_id')->on('organisations')->references('id');
         });
     }

+ 2 - 2
src/server/database/migrations/2021_05_28_075639_create_organisations_table.php

@@ -19,10 +19,10 @@ class CreateOrganisationsTable extends Migration
             $table->string('email');
             $table->string('address');
             $table->string('boss');
-            $table->unsignedBigInteger('teacher_id');
+//            $table->unsignedBigInteger('teacher_id');
             $table->timestamps();
 
-            $table->foreign('teacher_id')->on('teachers')->references('id');
+//            $table->foreign('teacher_id')->on('teachers')->references('id');
         });
     }
 

+ 35 - 0
src/server/database/migrations/2021_06_01_064316_create_courses_teachers_table.php

@@ -0,0 +1,35 @@
+<?php
+
+use Illuminate\Database\Migrations\Migration;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Support\Facades\Schema;
+
+class CreateCoursesTeachersTable extends Migration
+{
+    /**
+     * Run the migrations.
+     *
+     * @return void
+     */
+    public function up()
+    {
+        Schema::create('courses_teachers', function (Blueprint $table) {
+            $table->id();
+            $table->unsignedBigInteger('courses_id');
+            $table->unsignedBigInteger('teachers_id');
+
+            $table->foreign('courses_id')->references('id')->on('courses');
+            $table->foreign('teachers_id')->references('id')->on('teachers');
+        });
+    }
+
+    /**
+     * Reverse the migrations.
+     *
+     * @return void
+     */
+    public function down()
+    {
+        Schema::dropIfExists('courses_teachers');
+    }
+}

BIN
src/server/storage/db/base.db