2016-02-10 40 views
1

我相信這會是一個愚蠢的問題,因爲它看起來很明顯,但我花了太長時間尋找答案。我使用苗條2.6,雄辯和樹枝,我有點生疏。在Slim中創建搜索字段

我正在研究一個現有的,但仍然非常基本的化學品庫存管理系統,用於我工作的大學的化學品,並且只是想添加搜索功能。我有路由本身的工作,所以如果我鍵入append到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' /> 

任何建議表示讚賞。希望我不會錯過顯而易見的東西。

+1

你在找這樣的事情https://gordonlesti.com/creating-a-search-in-slim-framework-with -hooks /而不是這個http://coenraets.org/blog/2011/12/restful-services-with-jquery-php-and-the-slim-framework/ – zod

+0

鉤子,當然。你是完全正確的,第二個鏈接是相當古老,非常苗條。 我認爲這是我需要的。非常感謝zod – danny2327

+0

@zod第二個想法是,即使鉤子比我在這種情況下需要的更多。 – danny2327

回答

0

所以我終於實現了我想要做的事情,而且我絕對是在推翻事情。我添加了家庭帖子路由,並從表單提交中調用該路由,而不是直接「搜索」並傳遞到從發佈請求中檢索的搜索詞中。搜索路線同上

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

我Post方法

$app->post('/', function() use ($app) { 
$request = $app->request; 
$searchterm = $request->post('searchterm'); 

$app->response->redirect($app->urlFor('search', [ 
    'searchterm' => $searchterm 
])); 

})->name('home.search');