Как объединить запрос в laravel? - PullRequest
0 голосов
/ 23 января 2020

У меня есть доктор aws на моем сайте, чтобы принять участие в розыгрыше, вам нужно выполнять определенное действие в день. И есть код, который проверяет все это:

    $date = Carbon::today();
    $sta = \DB::table('ets')->where('user_id', $this->user->id)->where('created_at', '>=', $date)->get();
    $sta = \DB::table('ets_1x1')->where('user_id', $this->user->id)->where('created_at', '>=', $date)->get();
    $sta = \DB::table('ets_low')->where('user_id', $this->user->id)->where('created_at', '>=',$date)->get();
    $sta = \DB::table('ets_duel')->where('user_id', $this->user->id)->where('created_at', '>=', $date)->get();

if ($sta == NULL) {
                return response()->json(['status' => 'error', 'msg' => 'Error']);
            }

Этот код проверяет, есть ли запись пользователя в 4 возможных таблицах. Я сделал запись в таблице ets_1x1, но все равно не могу принять участие, потому что ошибка, похоже, не нашла меня в базе данных. Я удалил все таблицы и оставил только ets_1x1, и меня приняли в чертеж.

Насколько я понимаю, значение берется из последнего запроса. Как я могу объединить запрос в 1 и выполнить проверку этих 4 таблиц?

1 Ответ

2 голосов
/ 23 января 2020

Попробуйте создать отношения по пользовательской модели и сделать что-то вроде этого

$user=User::with(['ets','ets_1x1','ets_low','ets_duel'])->find($this->user->id);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...