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();
Другие вопросы по тегам