【发布时间】:2019-02-12 10:14:27
【问题描述】:
这是我的索引方法:
if($request->has('search')){
$search = $request->get('search');
$households = Household::where('household_id',"1938347-32960066")->get();
}
当我使用上面提到的 sn-p 时,我正在获取数据,但是当我尝试使用以下代码获取相同的数据时,它返回空。
if($request->has('search')){
$search = $request->get('search');
$households = Household::where('household_id', 'like', '%$search%')->get();
}
问题出在哪里,我该如何解决?
【问题讨论】:
-
Arvind 是正确的,您当前正在将静态字符串传递到查询中,即您在询问
WHERE household_id LIKE '%string%'。在允许使用双引号(或连接)进行字符串插值后,它应该可以工作。检查搜索参数中的值是否符合您的预期。 -
搜索参数提供了我在搜索中提供的正确值。
-
您确定 $search 包含“1938347-32960066”并且您将“%1938347-32960066%”作为最后一个参数传递给 where()?如果你这样做
where('household_id', $search),它是否有效? -
不适用于 where('household_id', $search)
-
那么逻辑上 $search 不能等于 '1938347-32960066'。确保没有细微差别,例如不同的破折号/连字符或空格。
标签: php jquery mysql database laravel