Ошибка в соединении Laravel - PullRequest
0 голосов
/ 02 июня 2018

Я пытаюсь получить результаты из 2 таблиц, используя соединение, где я хочу получить результат между временным диапазоном из этих 2 таблиц,

вот мой код

$final_trade = DB::table('finaltrade')
        ->join('exchanges', function($join)
        {
            $join->on('exchanges.id', '=', 'finaltrade.exchange_id')
                ->where('finaltrade.user_id', '=', Auth::user()->id)
                ->whereTime('finaltrade.created_at', '=', 'exchanges.start_time');
        })
        ->get();

, когда я добавляю жестко закодированныйзначение времени вместо exchanges.start_time дает правильный результат, но я хочу добавить значения из столбца,

Ответы [ 2 ]

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

Неправильный код ->whereTime('finaltrade.created_at', '=', 'exchanges.start_time'); изменить его на ->whereColumn('finaltrade.created_at', '=', 'exchanges.start_time');

И исправленный код

DB::table('finaltrade')
    ->join('exchanges', function($join) {
        $join->on('exchanges.id', '=', 'finaltrade.exchange_id')
            ->where('finaltrade.user_id', '=', Auth::user()->id)
            ->whereColumn('finaltrade.created_at', '=', 'exchanges.start_time');
    })->get();
0 голосов
/ 02 июня 2018

Вы должны сказать Laravel, что это не значение, а имя столбца:

->whereTime('finaltrade.created_at', '=', DB::raw('exchanges.start_time'));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...