繁体   English   中英

如何限制查询 laravel 中的数据数量

[英]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 ,但takewhere没有任何运气,我不知道为什么

您可以将查询传递给->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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM