gpt4 book ai didi

php - Laravel Eloquent 多重连接

转载 作者:行者123 更新时间:2023-11-29 12:15:56 25 4
gpt4 key购买 nike

我有一个表专辑,每个专辑有多首歌曲、艺术作品,并且可以属于多个系列。

每首歌曲都可以包含来自另一个表的歌词。

到目前为止我已经:

路线.php

    Route::get('get_albums', function() {
return Album::with('songs', 'artworks', 'series')->get();
});

Album.php 模型

<?php

class Album extends Eloquent {

protected $table = 'albums';

public function songs()
{
return $this->hasMany('Song');
}

public function artworks()
{
return $this->hasMany('Artwork');
}

public function series()
{
return $this->hasMany('Serie');
}
}

Song.php模型

<?php

class Song extends Eloquent {
public function album()
{
return $this->belongsTo('Album');
}

public function lyric() {
return $this->hasOne('Lyric');
}
}

Artwork.php 模型

<?php

class Artwork extends Eloquent
{

public function album()
{
return $this->belongsTo('Album');
}
}

Serie.php模型

<?php

class Serie extends Eloquent {
public function album()
{
return $this->belongsTo('Album');
}
}

Lyric.php 模型

<?php

class Lyric extends Eloquent {
public function song()
{
return $this->belongsTo('Song');
}
}

这让我返回了所有专辑及其歌曲、艺术作品和系列。试图弄清楚如何进行第二次连接来获取歌曲的歌词。

最佳答案

你可以试试

Route::get('get_albums', function() {
return Album::with('songs.lyric', 'artworks', 'series')->get();
});

关于php - Laravel Eloquent 多重连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29811884/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com