在 Slim 中创建搜索字段


Creating a search field in Slim

我相信这将是一个愚蠢的问题,因为它看起来很明显,但我花了太长时间寻找答案。 我使用的是 Slim 2.6,雄辩和树枝,我有点生疏。

正在我工作的大学研究一个现有但仍然非常基本的化学品库存管理系统,只想添加搜索功能。 我有路由本身工作,所以如果我输入附加到 url/find/mySearchTerm,它完全按预期工作,但我无法弄清楚如何将搜索词传递/拉入路由。

这是我的路线,手动工作正常:

$app->get('/find/:searchterm', function($searchterm) use ($app) {
    $chemicals = $app
         ->chemical
         ->where('item', 'LIKE', "%$searchterm%")
         ->orWhere('catalogue', 'LIKE', "%$searchterm%")
         ->get();
});

我可以使用 javascript 或 DOM 或其他东西来提取字段的文本并将其添加进来,但这似乎不像......苗条/雄辩/树枝的方式。

<form method='post' action ="{{ urlFor('search', { searchterm: searchterm } ) }}">
    Search: <input type='text' name='searchterm' />

任何建议不胜感激。希望我没有错过一些明显的东西。

所以我终于实现了我想做的事情,我肯定是想多了。我添加了主页帖子路由并从表单提交中调用它,而不是直接"搜索"并传入从帖子请求中检索到的搜索词。 搜索路线同上

<form method='post' action ="{{ urlFor('home.search' ) }}">

我的发布方法

$app->post('/', function() use ($app) { 
$request = $app->request;   
$searchterm = $request->post('searchterm');
$app->response->redirect($app->urlFor('search', [
    'searchterm' => $searchterm 
 ]));
})->name('home.search');