payter / has-column-many
This package will provide functionality to add coma separated ID relations for Laravel Eloquent models
Installs: 14 931
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 1
Forks: 1
Open Issues: 0
Requires
- laravel/framework: >=5
This package is auto-updated.
Last update: 2025-03-20 16:32:22 UTC
README
You will be able to make relations of comma separated values in your MySQL table super easely, with adding just few lines of code into your Eloquent model.
It
So if you use Laravel and your relations in the table looks like this, then this package is for you:
Installation
Require package with composer
composer require payter/has-column-many
Basic usage
Using of this package is super easy - you just need to include UseColumnMany
trait to your model.
<?php namespace App\Models; use Illuminate\Database\Eloquent\Model; use PayteR\UseColumnMany; class ModelName extends Model { use UseColumnMany; public function relateds() { return $this->hasColumnMany(RelatedModel::class, 'related_ids'); } }
And you can call it like any other Eloquent relationships
use App\Models\ModelName; $relateds = ModelName::find(1)->relateds; foreach ($relateds as $related) { // }
Advanced usage
Multiple columns
You are able to concat ID's even from more than one column! It's easy - just pass an array of column names as second parameter:
return $this->hasColumnMany(RelatedModel::class, ['related_ids', 'another_column_ids']);
JSON and Serialised ID's
You don't need to do anything, it will automatically asume if it's comma separated or JSON or Serialized.