Я имею отношение ко многим ко многим, получаю ID сводной таблицы - PullRequest
0 голосов
/ 04 мая 2019

У меня есть следующие модели в отношении многие ко многим:

class Event extends Model
{
    public function positions() {
        return $this->belongsToMany(Position::class, 'position_events');
    }
}

class Position extends Model
{
    public function events() {
        return $this->belongsToMany(Event::class, 'position_events');
    }
}

class PositionEvent extends Model
{
    public function position() {
        return $this->hasOne(Position::class, 'id', 'position_id');
    }

    public function event() {
        return $this->hasOne(Event::class, 'id', 'event_id');
    }
}

Таблица position_events выглядит следующим образом:

id | event_id | position_id

Если $event является экземпляромиз Event я могу получить связанные позиции как:

$event->positions;

Это дает мне что-то вроде следующего для каждой связанной позиции:

{"id":4,"name":"Striker","created_at":"2019-04-02 16:19:57","updated_at":"2019-04-02 16:19:57","pivot":{"event_id":27,"position_id":4}}  

Обратите внимание на элемент pivot.Он имеет только event_id и position_id в качестве свойств, это столбцы из таблицы position_events.Как получить столбец id из этой таблицы?

1 Ответ

0 голосов
/ 04 мая 2019

Вы пробовали использовать withPivot(), например:

$this->belongsToMany(Position::class, 'position_events')->withPivot('id');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...