是否可以在 paginate() 函数中使用“limit”参数?
我正在尝试这个:
$users->where(...)->limit(50)->paginate($page)
Run Code Online (Sandbox Code Playgroud)
...现在,如果我在数据库中有 100 个用户,那么 paginate 函数的响应将是所有 100 个用户,而不是 50 个(或使用 limit 参数定义的用户数)。
所以,我的问题是:当我使用分页功能时是否可以实现限制参数?
我正在尝试寻找一种搜索关系的方法。
因此,我具有一对一的关系(用户和用户详细信息,其中一些用户可能没有详细信息)。
因此,问题是...如何根据用户的详细信息搜索用户,但是没有详细信息的用户也必须包含在结果中。
示例:表用户:user_id,名称,电子邮件-1个John Doe johndoe@address.com-2个理查德·蒂姆richardtim@address.com-3个Michael Bird michaelbird@address.com
表格user_details:ID,user_id,州-1,1,加利福尼亚-2,2,纽约
现在...我想让所有用户都来自加利福尼亚,所有用户都没有州(在上述情况下,结果应该是John Doe和Michael Bird
这是用户模型中的关系:
public function details()
{
return $this->belongsTo('App\UserDetails', 'user_id', 'user_id');
}
Run Code Online (Sandbox Code Playgroud)
搜索功能是:
$users = $users->whereHas('details', function($query) use $state {
$query->where('state', $state);
});
Run Code Online (Sandbox Code Playgroud)
请记住,我必须使用雄辩的/查询构建器实例来执行此操作,但我无法使用联接或原始查询。
在这种情况下,我想从加利福尼亚州获取所有用户,并从所有非相关用户那里获取信息,但是查询仅返回/搜索相关用户/ user_details ...
那么,有人可以帮我吗?谢谢
更新:
我正在这样尝试:
$users = new User();
$users = $users->doesntHave('user_details')->orWhereHas('user_details', function($query) use($state) {
$query->whereIn('state', $state);
});
$users->where('created_at', '>=', $start_date);
$users->where('created_at', '<=', $end_date);
Run Code Online (Sandbox Code Playgroud) php relationship laravel laravel-query-builder laravel-eloquent
我在向packagist添加新的包版本时遇到问题.
https://github.com/skydriver/stripe-request https://packagist.org/packages/skydriver/stripe-request
我的项目在Git Hub上(带有webhooks),Dev版本和第一个发布版本已成功添加到packagist,但是当我尝试创建新版本时,它没有显示在packagist上......这是我的git日志:
damjan@damjan-dev:~/www/projects/stripe/new-release$ git clone https://github.com/skydriver/stripe-request.git
Cloning into 'stripe-request'...
remote: Counting objects: 38, done.
remote: Compressing objects: 100% (29/29), done.
remote: Total 38 (delta 15), reused 21 (delta 5), pack-reused 0
Unpacking objects: 100% (38/38), done.
Checking connectivity... done.
...
damjan@damjan-dev:~/www/projects/stripe$ cd new-release/stripe-request/
damjan@damjan-dev:~/www/projects/stripe/new-release/stripe-request$ git add .
damjan@damjan-dev:~/www/projects/stripe/new-release/stripe-request$ git commit -m "New release"
[master fc9a023] New release
1 file changed, 349 insertions(+)
create mode 100644 StripeRequest.php
damjan@damjan-dev:~/www/projects/stripe/new-release/stripe-request$ git push origin master
Username for 'https://github.com': SkyDriver
Password for …
Run Code Online (Sandbox Code Playgroud)