Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/232.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
Php Laravel Eloquent和MySQL在Laravel request input()和get()中听起来既相似又不同_Php_Mysql_Search_Laravel 5.2 - Fatal编程技术网

Php Laravel Eloquent和MySQL在Laravel request input()和get()中听起来既相似又不同

Php Laravel Eloquent和MySQL在Laravel request input()和get()中听起来既相似又不同,php,mysql,search,laravel-5.2,Php,Mysql,Search,Laravel 5.2,我试图在我的Laravel搜索查询中实现一些灵活性,使用MySQL听起来像函数。我使用MySQL“LIKE”函数进行的查询工作正常,如下所示 public function search(Request $request) { $search = $this->posts->where(function($query) use($request) { $keywords = $request->keywords;

我试图在我的Laravel搜索查询中实现一些灵活性,使用MySQL听起来像函数。我使用MySQL“LIKE”函数进行的查询工作正常,如下所示

public function search(Request $request)
    {

        $search = $this->posts->where(function($query) use($request) {

                $keywords = $request->keywords;

                $keywords = explode(' ', $keywords);

                for($x = 0; $x < count($keywords); $x++)
                {
                    $query->orWhere('title', 'LIKE', '%'.$keywords[$x].'%');
                    }
        })->orderBy('created_at', 'desc')->paginate(12);
.....
}
但这不起作用。我不会返回任何结果。我做错了什么

另外,在我的函数中,我使用了
$request->keywords
而没有
input()
get()

我的方法不安全吗?以下哪种方法最安全? 我想知道这几个请求方法有什么不同,最好的解决方案是什么

$query->orWhere('title', 'SOUNDS LIKE', '%'.$keywords[$x].'%');
$request->keywords;
$request->input('keywords');
$request->get('keywords');