Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Compoships Eager Limit Laravel Package

mpyw/compoships-eager-limit

View on GitHub
Deep Wiki
Context7

Compoships Eager Limit Build Status Coverage Status Scrutinizer Code Quality

topclaudy/compoships + staudenmeir/eloquent-eager-limit

[!WARNING] This package is abandoned and no longer maintained.

staudenmeir/eloquent-eager-limit has been merged into the core since Laravel 11, and PR topclaudy/compoships#180 — which adds native limit()/offset() support to composite-key eager loads — was merged on 2025-10-03 and shipped in topclaudy/compoships ^3.0. Both pieces this wrapper used to glue together are now available upstream, so the package is no longer needed.

Migration: depend on topclaudy/compoships ^3.0 directly and call limit() inside your eager-load closures. On Laravel 11+ no extra trait is required.

$posts = Post::with(['authorComments' => fn ($query) => $query->limit(3)->offset(1)])->get();

Requirements

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.

Special Thanks

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
se7enxweb/flysystem
lampwick/laravel
jeslage/statamic-emojis
micahdshackelford/rmap-laravel
draftsmaninc/draftsman
square-bit/laravel-volition
himito/laravel-mailman
htinlynn/genius-helper
maco-studios/hephaestus
elmogy/larafast
xeviant/laravel-paystack
gorilladash/laravel-website-sdk
martialbe/flysystem-oss
chondal/3312client
jeroen-g/flickr
opscale-co/nova-genbi
itsjustvita/laravel-retention
tequilarapido/trackit
gregsphotography/site-builder-filament
cabaoctavio/laravel-query-log