SQL Удалить запрос с, где и или Laravel
Здравствуйте, я создаю запрос на удаление, чтобы удалить строку из моей базы данных в laravel, и я пришел к этой проблеме, мне нужно найти строку, где... и... или... и...
Так что в обычном php это будет
DELETE * FROM connection_requests
WHERE `user_id`=$user->id AND `selected_user_id`=$id OR
`selected_user_id`=$user->id AND `user_id`=$id;
(Первый and
принадлежит к where
а второй and
принадлежит к or
)
Теперь, как мне сделать это в Laravel
3 ответа
это будет работа попробовать его
DB::table('connection_requests')
->where(['user_id'=>$user->id, 'selected_user_id'=>$id])
->orWhere(['user_id'=>$id, 'selected_user_id'=>$user->id])
->delete();
Я сам исправил все спасибо за то что подумал со мной
DB::table('connection_requests')
->where('user_id', $user->id)
->where('selected_user_id', $id)
->orWhere('selected_user_id', $user->id)
->orWhere('user_id', $id)
->delete();
Вы можете попробовать это
DB::table('connection_requests')
->where(function ($query) use ($user->id, $id) {
$query->where('user_id', '=', $user->id)
->where('selected_user_id', '=', $id);
})
->orWhere(function ($query) use ($user->id, $id) {
$query->where('selected_user_id', '=', $user->id)
->where('user_id', '=', $id);
})
->delete();