Laravel DB фасад, как выразить, как

У меня есть запрос:

DB::select('select * from student where name like "%?%" or description like "%?%"',[$keyword,$keyword])

но я получил пустой результат, который не должен быть. Я думаю, что это может занять "?" вместо моего ключевого слова, как я должен изменить его?

2 ответа

Вы можете использовать это утверждение, как это.

DB::table('students')->where('name','LIKE',"%$keyword%")->orWhere('description','LIKE',"%$keyword%")->get();

Вы также можете сделать это следующим образом:

$result = DB::table('students')->where(function ($query) use ($keyword) {
    $query->orWhere('name', 'like', "%".$keyword."%");
    $query->orWhere('description', 'like', "%".$keyword."%");
})->get();
Другие вопросы по тегам