[英]how to limit the number of data in where has query laravel
我有一个这样的查询
$data = City::with('hotel')->orwherehas('hotel', function ($query) use ($user_input) {
//here i want to limit this result to 5
$query->where('name', 'LIKE', '%' . $user_input . '%')->take(5);
// $query->take(5); i have tried this too
})->orWhere('name', 'LIKE', '%' . $user_input . '%')->get();
在whereHas
子句中,我有一个要限制为 5 的查询,现在我尝试了limit
,但take
那where
没有任何运气,我不知道为什么
您可以将查询传递给->with()
查询构建器方法:
$data = City::with(['hotel' => function($query) use ($user_input) {
$query->where('name', 'LIKE', '%' . $user_input . '%')->limit(5);
}])
->where('name', 'LIKE', '%' . $user_input . '%')
->get();
这将获得与具有用户输入的城市相关联的所有酒店,其中城市包含用户输入。
请注意,这里没有使用->orWhere()
。
尝试这个
$data = City::with('hotel')->orwherehas('hotel', function ($query) use ($user_input) {
//here i want to limit this result to 5
$query->where('name', 'LIKE', '%' . $user_input . '%')->limit(5);
})->get();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.