Laravel之类的查询精确匹配

问题描述 投票:0回答:2

我正在将 CSV 文件上传到我的数据库,并且考虑到这两种项目类型,我想自动将 projecttype_id 添加到项目中:

  1. 道路、新建、拓宽
  2. 道路、新建工程

当我尝试上传“道路,新建筑”时,它总是给我第一个 ID。

尝试删除 % 但仍然相同:

$projecttypeid = ProjectType::where('name', 'LIKE', "%{$projecttype}%")->first('id');

laravel eloquent
2个回答
5
投票

如果您想要完全匹配,则无需“LIKE”。其中('名称',$项目类型)


0
投票

在 Laravel 的 Eloquent 中,您可以使用 '%' 通配符执行完全匹配的“like”查询。以下是实现它的方法:

$result = Model::where('column_name', 'like', 'search_term%')->get();

此查询将匹配列值以“search_term”完全开头的任何记录。

例如,如果要搜索users表中name列以“John”开头的所有记录,可以这样做:

$users = User::where('name', 'like', 'John%')->get();

这将检索名称以“John”开头的所有用户。如果你想搜索精确匹配,你可以像这样修改查询:

$users = User::where('name', '=', 'John')->get();
© www.soinside.com 2019 - 2024. All rights reserved.