【发布时间】:2020-07-21 19:37:35
【问题描述】:
我想在 Laravel Controller 中实现 Eloquent Search,这是 mysql 中的示例查询
SELECT * FROM trx_order_ecommerce WHERE city LIKE '%Depok%' OR city LIKE '%Bogor%'
我使用 POST 方法来检索城市数据,
array:3 [▼
0 => "Depok"
1 => "Bogor"
2=> ,....
]
这是我的控制器中的代码
$data = DataOrderEcommerce::orderBy('created_at','desc');
if(isset($request->city_name))
{
$dat = $request->city_name;
for ($i=0; $i < count($dat) ; $i++) {
if($i=0){
$data->Where('city', 'like', '%'.$dat[$i]. '%' );
}
elseif($i>0){
$data->OrWhere('city', 'like', '%'.$dat[$i]. '%' );
}
else{
}
}
$data->get()
}
但我没有得到任何数据,..
【问题讨论】:
-
你在某处
->get()你的数据吗? -
是的,.. 但我仍然没有得到数据
-
您可以改用
->toSql()并查看查询,在phpMyAdmin 等中运行它并确保您得到结果/查询正常 -
@MuamarHumadi 你为什么使用
LIKE %?您在数据库中的城市名称与请求中发送的城市名称不同吗?