Download the PHP package staudenmeir/belongs-to-through without Composer
On this page you can find all versions of the php package staudenmeir/belongs-to-through. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download staudenmeir/belongs-to-through
More information about staudenmeir/belongs-to-through
Files in staudenmeir/belongs-to-through
Package belongs-to-through
Short Description Laravel Eloquent BelongsToThrough relationships
License MIT
Informations about the package belongs-to-through
BelongsToThrough
This inverse version of HasManyThrough
allows BelongsToThrough
relationships with unlimited intermediate models.
Supports Laravel 5.0+.
Installation
composer require staudenmeir/belongs-to-through:"^2.5"
Use this command if you are in PowerShell on Windows (e.g. in VS Code):
composer require staudenmeir/belongs-to-through:"^^^^2.5"
Versions
Laravel | Package |
---|---|
11.x | 2.16 |
10.x | 2.13 |
9.x | 2.12 |
8.x | 2.11 |
7.x | 2.10 |
6.x | 2.6 |
5.x | 2.5 |
Usage
- Custom Foreign Keys
- Custom Local Keys
- Table Aliases
- Soft Deleting
Consider this HasManyThrough
relationship:
Country
→ has many → User
→ has many → Post
Use the BelongsToThrough
trait in your model to define the inverse relationship:
Post
→ belongs to → User
→ belongs to → Country
You can also define deeper relationships:
Comment
→ belongs to → Post
→ belongs to → User
→ belongs to → Country
Supply an array of intermediate models as the second argument, from the related (Country
) to the parent model (Comment
):
Custom Foreign Keys
You can specify custom foreign keys as the fifth argument:
Custom Local Keys
You can specify custom local keys for the relations:
VendorCustomerAddress
→ belongs to → VendorCustomer
in VendorCustomerAddress.vendor_customer_id
VendorCustomerAddress
→ belongs to → CustomerAddress
in VendorCustomerAddress.address_id
You can access VendorCustomer
from CustomerAddress
by the following
Table Aliases
If your relationship path contains the same model multiple times, you can specify a table alias (Laravel 6+):
Use the HasTableAlias
trait in the models you are aliasing:
Soft Deleting
By default, soft-deleted intermediate models will be excluded from the result. Use withTrashed()
to include them:
Contributing
Please see CODE OF CONDUCT for details.
Credits
- Rahul Kadyan
- Danny Weeks
- All Contributors