Php Laravel:使用已发布的参数进行搜索

Php Laravel:使用已发布的参数进行搜索,php,laravel,laravel-5,Php,Laravel,Laravel 5,我是拉雷维尔的新手,所以请对我耐心一点 我必须在Laravel中实现搜索功能。我能够将表单数据发送到搜索控制器并接收它 public function search_results(Request $request){ if ($request->has('gender')) { echo $request->gender; } ..... } 现在,当我在网上学习教程时,我得到了这样的例子: public fu

我是拉雷维尔的新手,所以请对我耐心一点

我必须在Laravel中实现搜索功能。我能够将表单数据发送到搜索控制器并接收它

public function search_results(Request $request){
        if ($request->has('gender')) {
           echo $request->gender;
        }
        .....
}
现在,当我在网上学习教程时,我得到了这样的例子:

public function filter(Request $request, User $user)
{
    // Search for a user based on their name.
    if ($request->has('name')) {
       $user->where('name', $request->input('name'))->get();
    }

}

现在我不确定这个
用户::
用户$User
是从哪里添加的,在我的场景中我应该做什么

你的建议会有帮助的


谢谢,

在mvc结构中,$user表示属于与表(users)关联的模型(user::)的对象。若您想“根据用户名搜索用户”,这意味着您在数据库中已经有一个users表和一个用户模型

您可以使用有说服力的查询从数据库检索数据

使用composer创建新的laravel项目时,应生成User.php文件。你可以检查一下

因此,当您声明这样的变量时:

$user = User::first();
$users = User::all();
通过使用用户模型,您实际上获得了“users”表中的第一个元素

如果可以正确配置用户模型和用户表,则应该能够从用户表中获取所有记录,如下所示:

$user = User::first();
$users = User::all();
然后您可以按如下方式对其进行过滤:

$users = $users->where('gender','male')      // where('gender',$request->gender) in your situation

如果您没有用户表或模型,您可以查看有关如何使用artisan命令创建模型的文档

谢谢您的回复,我想搜索名为user_data的表,但没有该表的模型。我应该创建一个同名的空模型并将其用作Userdata::??请确认LAVEL自动匹配表名和模型名。例如,“汽车”表会自动匹配汽车模型。如果希望以这种方式使用自动匹配,则应将表名更新为模型的复数形式。或者你可以在互联网上查看如何将不同的名称表与模型匹配。据我从你的问题中了解,你缺少要点。我强烈建议您从上面看一下Laravel文档。