Указание полей отношений в красноречивых моделях с использованием сводных таблиц в существующей схеме таблиц - PullRequest
0 голосов
/ 11 ноября 2019

Читая документацию на Laravel для сводных таблиц, мне трудно догадаться, как я могу указать соответствующее поле при перемещении / повторном просмотре php-кода моего текущего проекта в Laravel.

Проблема, с которой я столкнулся, заключается в том, что в моем существующем проекте у меня есть следующие таблицы:

ohimeSama:
id: Primary Key
namae: String

oujiSama
id: Primary Key
namae: String

suki:
id: pk
princess_id: Foreighn Key Ohimesama
prince_id: Foreighn Key Oujisama

Для таблицы Ohimesama я установил следующую модель:

namespace App\Model;

use Illuminate\Database\Eloquent\Model;
use App\Model\Suki;
use App\Model\Oujisama;


class Ohimesama extends Model
{
   public $timestamps = false;
   protected $table = "ohimesama";

   public function princesThatShesInLove()
   {
     return $this->belongsToMany(Oujisama::class)->using(Suki::class);
   }
}

То же самое дляOujisama:

namespace App\Model;

use Illuminate\Database\Eloquent\Model;
use App\Model\Ohimesama
use App\Model\Suki;

class Oujisama extends Model
{
   public $timestamps = false;
   protected $table = "ohimesama";

   public function lovedByPrincess()
   {
        return $this->belongsToMany(Ohimesama::class)->using(Suki::class);
   }
}

Кроме того, сводная модель для Suki:

namespace App\Model;

use Illuminate\Database\Eloquent\Relations\Pivot;

class Suki extends Pivot
{
   public $timestamps = false;
   protected $table = "suki";
}

Поэтому я хочу знать, как я могу указать соответствующие поля отношений, представляющие внешние ключина столе suki? В документации мне сложно понять, как указываются эти поля.

...