Поиск по ключевым словам в маршрутах Slim Framework - PullRequest
0 голосов
/ 21 сентября 2018

У меня есть настройка маршрута, которая должна возвращать каждую запись, включающую поисковый термин в описании столбца.Прямо сейчас, если я использую термин «игрушка», он будет возвращать только столбцы, в которых есть только ключевое слово «игрушка», но не столбец с «эта игрушка великолепна».

//Keyword results
  $app->get('/search-description/[{keyword}]', function ($request, $response, $args) {
   $sth = $this->db->prepare("SELECT * FROM products WHERE description LIKE :keyword ORDER BY name");
   $keyword = "%".$keyword."%";
   $sth->bindParam("keyword", $args['keyword']);
   $sth->execute();
   $keywordresults = $sth->fetchAll();
 return $this->response->withJson($keywordresults);
});

Мой вопрос: какя могу использовать подстановочные знаки в маршрутах?

Большое спасибо за вашу помощь!

1 Ответ

0 голосов
/ 22 сентября 2018

Я понял, что я делаю неправильно.Это было не так сложно, как я пытался сделать, используя данные из http://php.net/manual/en/pdostatement.bindparam.php.

//Keyword results
$app->get('/search-description/[{keyword}]', function ($request, $response, 
$args) {
$sth = $this->db->prepare("SELECT * FROM products WHERE description LIKE '%' :keyword '%' ORDER BY name");
$sth->bindParam("keyword", $args['keyword']);
$sth->execute();
$keywordresults = $sth->fetchAll();
return $this->response->withJson($keywordresults);
});

В вопросе

$keyword = "%".$keyword."%";

Эта переменная была направлена ​​в никуда и не нужна.

Надеюсь, это поможет кому-то еще.

...