Проверьте, был ли запрос успешным - PullRequest
0 голосов
/ 09 июля 2019

Я определяю запрос на удаление таблицы в базе данных. После этого я хочу показать сообщение, что запрос был успешно выполнен. Как я могу проверить это с помощью if заявления?

$query = DB::table('user_users')->delete();     

return view('datenbank');

Ответы [ 4 ]

1 голос
/ 09 июля 2019

Когда вы используете delete с построителем запросов, он возвращает количество затронутых строк.

Ваше выражение if просто должно выглядеть примерно так:

$query = DB::table('user_users')->delete(); 

if ($query) {
    //query successful
}

Если вы хотите быть более точным, вы можете сделать if ($query > 0) {}

Если с запросом что-то пойдет не так (ошибка), он выдаст Exception, что будет означать, что строки не были затронуты.

0 голосов
/ 09 июля 2019

вы можете сделать try catch с DB Transaction

try {
        DB::beginTransaction();

        // your code

        DB::commit();
    }catch (Exception $e) {

        DB::rollback();

        // other actions

    }
0 голосов
/ 09 июля 2019

Я рекомендую использовать try catch, потому что исключение броска запроса laravel при возникновении ошибки ...

$queryStatus;
try {
    DB::table('user_')->where('column',$something)->delete();
    $queryStatus = "Successful";
} catch(Exception $e) {
    $queryStatus = "Not success";
}
return view('datenbank')->with('message', $queryStatus);
0 голосов
/ 09 июля 2019

Если запрос не был выполнен успешно, Laravel обычно выдает ошибку. Но если вы хотите быть действительно уверенным, вы можете запросить таблицу сразу после ее усечения, чтобы убедиться, что в ней не осталось данных.

DB::table('user_users')->delete();     

// Test if no records are left in the table
$success = DB::table('user_users')->count() === 0;

return view('datenbank', compact('success'));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...