Laravel andWhere не существует - PullRequest
0 голосов
/ 25 июня 2018

Вот мой запрос;

SELECT * FROM digital_cases WHERE name LIKE $request->name . '%' 
AND added_by IN (SELECT id FROM assistants WHERE firstname LIKE $request->addedBy . '%');

И я попробовал это:

$digital_cases = DB::table('digital_cases');

if ($request->has('caseName')) {
    $digital_cases = $digital_cases->where('name', 'LIKE', $request->caseName . '%');
    if ($request->has('addedBy')) {
        $addedBy = $request->addedBy;
        $digital_cases = $digital_cases->andWhere('added_by', 'IN', function ($digital_cases) use ($addedBy) {
            DB::table('assistants')->select('id')->whereIn('firstname', 'LIKE', $addedBy . '%');
        });
    }
}


$digital_cases = $digital_cases->get();

Я удалил, прежде чем вопрос не так, но теперь все кажется в порядке.Но я получил ошибку:

Метод Подсветка \ База данных \ Запрос \ Builder :: andГде не существует.

1 Ответ

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

Просто используйте where().

По умолчанию Laravel предполагает, что вы хотите сделать AND WHERE, именно тогда, когда вы хотите использовать OR, вам нужно быть конкретным, то есть orWhere().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...