nullthoughts/laravel-latest-relation
最新稳定版本:v1.0.0
Composer 安装命令:
composer require nullthoughts/laravel-latest-relation
包简介
Eloquent macros for querying latest HasMany relationship in Laravel
README 文档
README
Laravel Latest Relation
Eloquent macros for querying the latest HasMany relationship in Laravel.
More information on the problem and solutions: Dynamic scope on latest record in Laravel's HasMany relationships, Part 1: solving with Subqueries - nullthoughts.com
Installation
Install via composer: composer require nullthoughts/laravel-latest-relation
Usage / Examples
Use the Builder methods inside a whereHas closure:
Latest:
whereLatestRelation($relation, $column, $operator = null, $value = null)
Query
$users = User::whereLatestRelation('logins', 'device_type', '=', 'desktop');
Dynamic Scope
public function scopeUsingDevice($query, $device) { return $query->whereLatestRelation('logins', 'device_type', $device); } public function scopeHavingCountry($query) { return $query->whereLatestRelation('logins', 'country', '!=', 'null'); }
whereLatest($column, $value)
Query
$users = User::whereHas('logins', function ($query) { $query->whereLatest('device_type', 'desktop'); });
Dynamic Scope
public function scopeUsingDevice($query, $device) { return $query->whereHas('logins', function ($query) use ($device) { $query->whereLatest('device_type', $device); }); }
latestRelation()
Query
$users = User::whereHas('logins', function ($query) { $query->latestRelation()->whereBetween( 'created_at', [ Carbon::now()->startOfDay(), Carbon::now()->endOfDay() ]); });
Dynamic Scope
public function scopeHavingDeviceType($query) { return $query->whereHas('logins', function ($query) { $query->latestRelation()->whereNotNull('device_type'); }); }
Earliest:
$users = User::whereLatestRelation('logins', 'device_type', 'desktop'); $users = User::whereHas('logins', function ($query) { $query->whereEarliest('device_type', 'desktop'); }); $users = User::whereHas('logins', function ($query) { $query->earliestRelation()->whereNotNull('device_type'); });
统计信息
- 总下载量: 64k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 14
- 点击次数: 3
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-01-04