Теперь есть 2 способа получить из базы данных Laravel. И я хочу знать, что является более эффективным.

< Сильный > 1 . получить с подсчетом

$cnt = \App\Models\Res_Times::where(...)
    ->count();

if ($cnt > 0) {
    $result = \App\Models\Res_Times::where(...)
        ->get();
}

< Сильный > 2 . получить напрямую

$result = \App\Models\Res_Times::where(...)
    ->get();

Я не знаю, PHP функция подсчета MySQL настолько быстро стоит использовать.

Пожалуйста, дайте мне знать.

1
LarAng 28 Май 2017 в 23:35

2 ответа

Лучший ответ

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

2
cre8 28 Май 2017 в 20:43

Более эффективный способ узнать, существует ли ответ, - это использовать exists, потому что мы определяем, существуют ли строки для запроса до того, как мы фактически загрузили его в коллекцию, например:

$result = \App\Models\Res_Times::where(...)
if ($result->exists()) {
   return $result->get();
}
1
jycr753 28 Май 2017 в 21:39