我有以下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