mpyw / compoships-eager-limit
topclaudy/compoships + staudenmeir/eloquent-eager-limit
Installs: 108 252
Dependents: 1
Suggesters: 0
Security: 0
Stars: 12
Watchers: 3
Forks: 2
Open Issues: 2
Requires
- php: ^8.0
- awobaz/compoships: ^2.0.4
- illuminate/database: ^9.0 || ^10.0 || ^11.0
- illuminate/support: ^9.0 || ^10.0 || ^11.0
- staudenmeir/eloquent-eager-limit: ^1.7.1
Requires (Dev)
- ext-json: *
- nesbot/carbon: ^2.62.1
- orchestra/testbench: *
- orchestra/testbench-core: >=7.0
- phpunit/phpunit: >=9.5
This package is auto-updated.
Last update: 2025-03-04 01:02:02 UTC
README
topclaudy/compoships + staudenmeir/eloquent-eager-limit
Caution
staudenmeir/eloquent-eager-limit has been merged into the core since Laravel 11. Therefore, it should have been enough to only install topclaudy/compoships... However, as of March 2025, PR topclaudy/compoships#180 has not yet been merged. Once we have seen this merged, we will abandon the package.
Requirements
- PHP:
^8.0
- Laravel:
^9.0 || ^10.0
- Compoships:
^2.0.4
- Eloquent Eager Limit:
^1.7.1
Installing
composer require mpyw/compoships-eager-limit
Usage
<?php namespace App; use Illuminate\Database\Eloquent\Model; use Mpyw\ComposhipsEagerLimit\ComposhipsEagerLimit; class Post extends Model { use ComposhipsEagerLimit; public function comments() { return $this->hasMany(Comment::class); } public function authorComments() { return $this->hasMany(Comment::class, ['post_id', 'user_id'], ['id', 'user_id']); } }
<?php namespace App; use Illuminate\Database\Eloquent\Model; use Mpyw\ComposhipsEagerLimit\ComposhipsEagerLimit; class Comment extends Model { use ComposhipsEagerLimit; }
$posts = Post::with(['authorComments' => function ($query) { $query->limit(3)->offset(1); }])->get();
For more details, visit each base package repository.