2016-05-21 40 views

回答

1

由於兩個target_idSENDER_ID來自users表中的字段,你們的關係一定要這樣定義。

class User { 

    public function blocks() { 
    return $this->belongsToMany('App\User','blocked_users','sender_id','target_id')->withPivot(['id']); 
    } 

    public function blockedBy() { 
    return $this->belongsToMany('App\User','blocked_users','target_id','sender_id')->withPivot(['id']); 
    } 

} 

這裏blocked_users是表的名稱。

所以,要阻止你可以做一個用戶: -

//User who is going to block 
$user = User::find($id); 
$inputs = [$target_user_id]; 
$user->blocks()->attach($inputs); 

//or you can use, 
$user->blocks()->sync($inputs, false); 

在上面同步假的時候,老同步行被忽略,新的連接使用。

要得到誰的特定用戶已阻止用戶的列表,你可以這樣做: -

$user = User::find($id); 
$user->blocks; 

而得到誰該特定用戶被

$user = User::find($id); 
$user->blockedBy; 

被阻止用戶的列表謝謝,

相關問題