我有以下Laravel型号:从关系获取所有记录?
class User extends ConfideUser implements UserInterface, RemindableInterface
{
use HasRole;
public function stores()
{
if ($this->hasRole('root')) {
return $this->belongsToMany('Store')->orWhereNull('store_user.user_id');
} else {
return $this->belongsToMany('Store');
}
}
}
每个user
属于多个store
S和通过标准的数据透视表'store_user'
建立这种关系。
如果我这样做,我得到的所有店铺,为用户:
$stores = Auth::user()->stores;
但是,如果用户有root
角色,我要检索的所有门店。这很简单,可以使用简单的选择来返回所有商店,但对于stores()
方法来说,功能始终如一,Laravel希望它返回Illuminate\Database\Eloquent\Relations\Relation
类型的对象。
如何返回一个Relation
对象,而不是只有root用户在store_user
数据透视表中拥有的所有商店?
我不认为这会返回一个关系。 – 2014-08-27 16:11:22