Search Laravel中的搜索函数
我正在尝试在laravel中创建一个搜索函数。但它表明: “未定义变量:q” 虽然我定义了变量。我不知道我在哪里犯了错误。我需要帮助 这是我的控制器代码:Search Laravel中的搜索函数,search,laravel-5.2,Search,Laravel 5.2,我正在尝试在laravel中创建一个搜索函数。但它表明: “未定义变量:q” 虽然我定义了变量。我不知道我在哪里犯了错误。我需要帮助 这是我的控制器代码: public function postSearch(Request $request) { $q = $request->input('q'); $products = DB::table('products') ->join('product_categ
public function postSearch(Request $request)
{
$q = $request->input('q');
$products = DB::table('products')
->join('product_categories', function ($join) {
$join->on('category_id', '=', 'product_categories.id')
->where('name','LIKE','%'.$q.'%')->orWhere('category_name','LIKE','%'.$q.'%');
})->get();
if(count($products) > 0)
return view('search')->withDetails($products)->withQuery ( $q );
else return view ('search')->withMessage('No Details found. Try to search again !');
}
这是我的路线:
Route::post('/search',[
'uses' => 'HomeController@postSearch',
'as' => 'search'
]);`
这是我的意见表:
<form action="{{ route('search') }}" method="post" role="search">
{{ csrf_field() }}
<div class="input-group">
<input type="text" class="form-control" name="q" placeholder="Search products">
<span class="glyphicon glyphicon-search"></span>
<button type="submit" class="btn-btn-primary">Submit</button>
</span>
</div>
</form>
{{csrf_field()}}
提交
更改以下代码:
->join('product_categories', function ($join) {
根据本守则:
->join('product_categories', function ($join) use ($q) {
注意:在声明要传递的变量之前,不能在其内部使用外部变量