我有這個表格稱爲阻止用戶,它的佈局是這樣的。Laravel模型,這樣做的正確整潔的方式
id, user_id, blocked_user_id, reason, created_at, updated_at
現在我有一個消息控制器,2人可以通話。我希望在發送消息之前檢查用戶是否被阻止,我已經這樣做了。
$blkchk = $thread->participants()->withTrashed()->get();
foreach ($blkchk as $usr) {
$usrs[] = $usr->user_id;
}
$block = BlockedUsers::where('user_id',$usrs[0])->where('blocked_user_id', $usrs[1])->first();
$block2 = BlockedUsers::where('user_id',$usrs[1])->where('blocked_user_id', $usrs[0])->first();
if (!empty($block) || !empty($block2)) {
return response()->view('errors.403', ['error' => 'One of the users in this conversation is blocked.'], 404);
}
這很麻煩,但blkchk在對話中獲取用戶標識符。將它們設置爲一個數組,然後我分別針對每一個,它的工作原理是完美的,但我相信這很難理解。
只是想知道如何做到這一點正確和最新的方式。
如果這是工作代碼,您應該詢問http://codereview.stackexchange.com/ – phaberest