Php 在获得laravel elequent中的结果之前,请删除空格
我想在laravel controller中比较搜索结果 当用户输入名称并搜索时。在我的控制器中,它将删除输入空间并比较从数据库检索到的数据 提交的用户是John DoePhp 在获得laravel elequent中的结果之前,请删除空格,php,laravel,Php,Laravel,我想在laravel controller中比较搜索结果 当用户输入名称并搜索时。在我的控制器中,它将删除输入空间并比较从数据库检索到的数据 提交的用户是John Doe preg_match_all('/\@([^\s\.]+)/', $request->name, $matches); 删除空格,使其成为JohnDoe。然后使用 $user = User::where('name', $name)->first(); 我希望在比较结果之前删除名称列空格。例如,从数据库列获取的
preg_match_all('/\@([^\s\.]+)/', $request->name, $matches);
删除空格,使其成为JohnDoe。然后使用
$user = User::where('name', $name)->first();
我希望在比较结果之前删除名称列空格。例如,从数据库列获取的数据是johndoe。如何删除空格并进行比较。
$user=user::where('John Doe',$matches)->first()代码>尝试使用whereRaw
:
$user = User::whereRaw("name REGEXP 'your_regex'")->first();
我发现这种方法是可行的
$user = User::where('name','%'.$name.'%')
->orWhere('name','LIKE','%'.preg_replace('/\@([^\s\.]+)/', '', $name).'%')->first();
我想说:
如果要将不同的数据保存到真正需要的数据,则会出现问题。我的意思是,你可以很容易地拯救约翰多和它的简单,也使生活变得容易
您可以将原始sql查询与whereRaw()
方法一起使用,如下所示:
User::whereRaw("REPLACE(`name`, ' ', '') = ? ", $name)->first();
REPLACE()。查找有关mysql的更多信息REPLACE()
您是说您的db表列带有“John Doe”还是“name”列的一个值是“John Doe”?@omisakinoruwatobi“name”列的一个值是“John Doe”