Download the PHP package ghanuz/relations without Composer
On this page you can find all versions of the php package ghanuz/relations. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download ghanuz/relations
More information about ghanuz/relations
Files in ghanuz/relations
Package relations
Short Description To create a Eloquent relationships with comma separated foreign key or using a FIND_IN_SET mysql function.
License MIT
Informations about the package relations
findinset_relation
Set eloquent relationships with table that contains comma separated values as a foreign key
Installation
Get package using composer :
composer require ghanuz/relations
1.
You have to extends GhanuZ\Model
class instead of Illuminate\Database\Eloquent\Model
You can also use traits instead of extend Model class
Like in Laravel, Users
model not extending Model
class.
So you can use trait
.
GhanuZ\FindInSet\FindInSetRelationTrait
Example:
To create HasMany
Relation you have to write as :
To create HasOne
Relation you have to write as :
You can also pass 4th argumaent to detect position in FIND_IN_SET :
If you have an address
table schema and stored city_ids
like city_id,state_id,country_id
.
Now, you want to find only city_id
, you will do as :
select * from address where FIND_IN_CITY( 2, city_ids ) = 1;// Here $index = 1
Like, for state_id
:
select * from address where FIND_IN_CITY( 1, city_ids ) = 2;// Here $index = 2
Like, for country_id
:
select * from address where FIND_IN_CITY( 5, city_ids ) = 3;// Here $index = 3
4th argument is optional
Added support of Array cast from version v3.
From version v3, you can also use custom casting provided by the Laravel framework to manipulate comma deligated value into array. If you are using casts of Laravel to convert the string with comma value into Array then this package also support it to retrive the related table data.