Связь с несколькими внешними ключами в сводной таблице - PullRequest
0 голосов
/ 19 марта 2020

У меня 3 таблицы services levels deadlines. Предложите мне способ определения отношения с packages (pivot table) в этом сценарии или мне следует изменить структуру таблицы для хранения этих данных?

Пакеты (сводная таблица):

service_id  | deadline_id | level_id | price 
------------+-------------+----------+---------
   1        |     1       |     2    |   25.00
   1        |     1       |     1    |   24.00
   2        |     1       |     1    |   23.00

Модель обслуживания

use Illuminate\Database\Eloquent\Model;
class Service extends Model {

}

Модель уровня

use Illuminate\Database\Eloquent\Model;
class Level extends Model {

}

Срок исполнения модели

use Illuminate\Database\Eloquent\Model;
class Deadline extends Model {

}

Пакеты (модель Custom Pivot)

use Illuminate\Database\Eloquent\Model;
class Package extends Model {

    protected $fillable = [
        'service_id', 'level_id', 'deadline_id', 'price', 'sale_price', 'default', 'status'
    ];

    public function service()
    {
        return $this->belongsTo('App\Service');
    }

    public function level()
    {
        return $this->belongsTo('App\Level');
    }

    public function deadline()
    {
        return $this->belongsTo('App\Deadline');
    }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...