Как проверить, что метод красноречивого обновления laravel является успешным - PullRequest
0 голосов
/ 24 мая 2018

Я вижу, что метод laravel eloquent update возвращает количество обновленных строк.

, поэтому, если не было строки для обновления, он возвращает 0, что делает его неоднозначным в операторе if.

как вы, ребята, проверяете, выполняется ли обновление без ошибок.

Ответы [ 2 ]

0 голосов
/ 24 мая 2018

Я предполагаю, что вы ссылаетесь на метод update Query Builder (который возвращает обновленный счетчик), а не на метод Eloquent (который возвращает логическое значение).Если это так, тогда нужно использовать блок try ... catch и обрабатывать любые экземпляры QueryException:

try {
    // Get the updated rows count here. Keep in mind that zero is a
    // valid value (not failure) if there were no updates needed
    $count = DB::table('users')->update([
        'active' => true
    ]);
} catch (\Illuminate\Database\QueryException $e) {
    // Do whatever you need if the query failed to execute
}
0 голосов
/ 24 мая 2018

Примерно так:

$updated = DB::table('tablename')
    ->where('id', $id)
    ->update([
        'name' => $name,
    ]);

if($updated) {
    // returns true
}
else {
    // returns false
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...