Запрос количества столбцов с определенным временем - PullRequest
0 голосов
/ 03 июня 2018

Существуют две таблицы с именами таблица обменов и таблица финальных торгов .

Таблица бирж имеет поле START_TIME (с форматом: 00:00:00).

Другая finaltrades Таблица имеет exchange_id .

Я хочу подсчитывать только те записи, которые идут между start_time до start_time + 1hrs из таблицы заключительных сделок. НАПРИМЕР: Если в start_time указано 09:15:00, считайте только записи с 09:15:00 до 10:15:00.

$Count_Trades = FinalTrade::where('user_id', '=', $user_id)
                             ->whereColumn('start_time', '+', 01:00:00)
                             ->count();

Как я могу исправить этот код по отношениям?

Таблица обменов

Таблица финальных торгов

1 Ответ

0 голосов
/ 03 июня 2018

Вы должны определить отношения между моделью FinalTrade и моделью бирж.

Это определяет отношения в модели FinalTrade.

public function exchanges(){
    return $this->hasOne('App\EXCHANGE_MODEL_NAME', 'id', 'exchange_id');
}

вы можете найти более подробную информацию об отношениях здесь .

Теперь вы можете найти свои записи, используя этот запрос

$countTrades = App\FinalTrade::where('user_id', '=', $user_id)->exchanges()
    ->where('start_time', '>=', $your_desired_time)->where('start_time' , '<=' , strtotime($your_desired_time) + 60*60)->count();
...