Запрос в бд вместо со связями | Laravel

Как в Laravel сделать запрос на получение записи вместе со связью? Допустим, есть таблица:

ChapterTable
________________________________
id | title | volume | created_at
1  | прив  | 1      | 0000:00...
2  | п112  | 1      | 0000:00...
3  | 3234  | 2      | 0000:00...

VolumeTable
________________________________
id | title | created_at
1  | том 1 | 0000:00...
2  | том 2 | 0000:00...
3  | том 3 | 0000:00...

Как мне получить из таблицы chapterTable строку с id = 1, и volume "том 1", вместо "1"??

SQL RESULT
________________________________
id | title | volume | created_at
1  | прив  | Том 1  | 0000:00...

Связи между chapterTable.volume и volumeTable.id уже прописаны.

Keyname                 Type     Unique Packed  Column  Cardinality  Collation  Null
____________________________________________________________________________________
chapters_volume_foreign |BTREEЭ  |No    |No     |volume |2          |A         |No

Ответы (1 шт):

Автор решения: Sire IMPACTUS

Решил проблему. Надо было в модель Chapter добавить фукнцию:

public function volume_info(){
    return $this->hasOne(Volume::class, 'id' <-- связанное поле у VolumeTable, 'volume' <-- связанное поле у текущей таблицы);
}

Ранее эта же функция называлась volume(), из-за чего при вызове:

$chapters = Chapter::where('book', $book)->orderByDesc('created_at')->limit(25)->get();

foreach ($chapters as $chapter) {
   dd($chapter->volume);
}

Я получал id volume, вместо объекта.

→ Ссылка