我正在嘗試構建搜索功能,用戶可以在文本區域的新行中提交多個關鍵字,然后在資料庫表中執行搜索。
問題在于我當前的代碼僅搜索最后一個關鍵字。
這是我在控制器中的功能。我不確定查詢是否應該在 foreach 回圈中。
public function search(Request $request){
$search = $request->input('search');
foreach(explode("\r\n", $search) as $line) {
$result = Posts::query()
->where('title', 'LIKE', "{$line}%")
->get();
}
return view('search', compact('result'));
}
這是搜索刀片上的文本區域
<form role="form" id="form-buscar" action="{{ route('search') }}" method="GET">
<textarea class="form-control" type="textarea" name="search" rows="5" cols="50" placeholder="Search..." required></textarea>
<button class="btn btn-success pull-right" type="submit"><i class="glyphicon glyphicon-search" aria-hidden="true"></i> Search</button>
</form>
uj5u.com熱心網友回復:
您需要包含與 foreach 函式類似的條件,而不是所有查詢:
$search = $request->input('search');
$query = Posts::query();
foreach (explode("\r\n", $search) as $line) {
$query->where('title', 'LIKE', "{$line}%");
}
$result = $query->get();
return view('search', compact('result'));
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/520025.html
標籤:php拉拉维尔
