Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Search Laravel中的搜索函数_Search_Laravel 5.2 - Fatal编程技术网

Search Laravel中的搜索函数

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

我正在尝试在laravel中创建一个搜索函数。但它表明:

“未定义变量:q”

虽然我定义了变量。我不知道我在哪里犯了错误。我需要帮助

这是我的控制器代码:

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) {
注意:在声明要传递的变量之前,不能在其内部使用外部变量