2014-06-29 51 views
3

我在艺术家和专辑之间有这种一对多关系,艺术家可以与很多专辑相关,但专辑只能关联到一位艺术家。通过Laravel 4中的关系属性进行查询

我的艺术家型号:

<?php 


class Artist extends Eloquent { 

    public function albums() 
    { 
     return $this->hasMany('Album'); 
    } 

} 

我的相册样板:

<?php 


class Album extends Eloquent { 

    public function artist() 
    { 
     return $this->belongsTo('Artist'); 
    } 

} 

我学会了如何让一个艺术家的所有专辑,以及检索专辑的艺术家。但我仍然不知道如何做到这一点查询:

获取所有专辑的人艺术家“林肯公园”

什么我目前做的是这样的:

$artist = Artist::where('name','=','Linkin Park')->first(); 

$albums = Album::where('artist_id','=',$artist->id)->get(); 

我得到我需要的东西,但我想知道是否有其他方式来做到这一点。像(我知道是错误的):

$albums = Album::where('artist','=','Linkin Park'); 

回答