[英]Laravel Eloquent Multiple Join
我有一张专辑,每张专辑都有多首歌曲,艺术品,并且可以属于多个系列。
每首歌曲都可以具有来自另一张桌子的歌词。
到目前为止,我有:
routes.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();
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.