У меня есть таблицы routes
и stations
с реляционной сводной таблицей route_station
. Я могу получить реляционные данные, используя belongsToMany
отлично.
См. Миграцию и другие детали
Laravel сводная таблица с несколькими столбцами, которые необходимо вставить позже
Выход ремесленника
>>> $stations = $route->stations()->orderBy('pivot_station_order', 'asc')->get()
=> Illuminate\Database\Eloquent\Collection {#3097
all: [
App\Station {#3077
id: 2,
name: "Daugherty Fort",
code: "LOGA",
info: "Dolore blanditiis voluptatem recusandae eos. Et minus dicta culpa iusto et sequi fugiat. Et vel totam et earum. Ad consequatur qui consequatur distinctio dolorem modi consequatur. Est non id accusamus magni magni delectus.",
photo: null,
created_at: "2020-02-21 04:31:24",
updated_at: "2020-02-21 04:31:24",
pivot: Illuminate\Database\Eloquent\Relations\Pivot {#3105
route_id: 1,
station_id: 2,
next_station_id: 3,
interchange_id: null,
station_order: 1,
distance: 2.3,
duration: 120,
created_at: "2020-02-21 04:59:07",
updated_at: "2020-02-21 05:01:15",
},
},
App\Station {#3100
id: 3,
name: "Armstrong Green",
code: "QWUB",
info: "Eos enim reiciendis voluptas animi aut aliquid. Dignissimos incidunt placeat dolore. Magni et qui ipsam ullam dolorum numquam iusto. Eligendi impedit laudantium sint quia quam reprehenderit necessitatibus quos.",
photo: null,
created_at: "2020-02-21 04:31:24",
updated_at: "2020-02-21 04:31:24",
pivot: Illuminate\Database\Eloquent\Relations\Pivot {#3127
route_id: 1,
station_id: 3,
next_station_id: 4,
interchange_id: null,
station_order: 2,
distance: 1.2,
duration: 95,
created_at: "2020-02-21 05:44:04",
updated_at: "2020-02-21 05:44:04",
},
},
App\Station {#3128
id: 4,
name: "Monroe Locks",
code: "FXNU",
info: "Necessitatibus vero sed mollitia reprehenderit est repudiandae. Dolorem voluptas est similique amet molestiae consequatur.",
photo: null,
created_at: "2020-02-21 04:31:24",
updated_at: "2020-02-21 04:31:24",
pivot: Illuminate\Database\Eloquent\Relations\Pivot {#3092
route_id: 1,
station_id: 4,
next_station_id: 5,
interchange_id: null,
station_order: 3,
distance: 2.7,
duration: 180,
created_at: "2020-02-21 05:44:44",
updated_at: "2020-02-21 05:44:44",
},
},
],
}
Вопрос:
Однако у меня есть дополнительное поле в сводной таблице, которое все принадлежит stations
Таблица. Я хочу получить подробности об этих атрибутах. Так нужно ли создавать другой объект станции для извлечения данных для next_station_id
и interchange_id
или есть какой-либо способ использования Eloquent, чтобы избежать создания нового объекта станции?