Вот мой вопрос;
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();
Я удалил до того, как вопрос стал неправильным, но теперь все в порядке. Но у меня ошибка:
Method Illuminate\Database\Query\Builder::andWhere does not exist.
Какую версию Laravel вы используете?
laravel 5.6 null null null.






Просто используйте where().
По умолчанию Laravel предполагает, что вы хотите использовать AND WHERE. Когда вы хотите использовать OR, вам нужно быть конкретным, то есть orWhere().
Я думаю, что у меня вторая ошибка насчет "in", следует ли мне использовать whereIn вместо where?
@Nevermore itsolutionstuff.com/post/…
Да собственно
andWhere does not exist.