{"id":15474810,"url":"https://github.com/halalsoft/laravel-dynamic-column","last_synced_at":"2025-07-07T04:09:34.329Z","repository":{"id":54312499,"uuid":"338243300","full_name":"HalalSoft/laravel-dynamic-column","owner":"HalalSoft","description":"Provides a trait for Laravel Eloquent/Query builder to handle MariaDB Dynamic Columns","archived":false,"fork":false,"pushed_at":"2022-08-29T20:49:44.000Z","size":37,"stargazers_count":5,"open_issues_count":3,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-06-25T20:36:29.817Z","etag":null,"topics":["dynamic-columns","eloquent","laravel","mariadb"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/HalalSoft.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-02-12T06:42:14.000Z","updated_at":"2025-01-18T22:05:26.000Z","dependencies_parsed_at":"2022-08-13T11:40:59.626Z","dependency_job_id":null,"html_url":"https://github.com/HalalSoft/laravel-dynamic-column","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/HalalSoft/laravel-dynamic-column","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HalalSoft%2Flaravel-dynamic-column","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HalalSoft%2Flaravel-dynamic-column/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HalalSoft%2Flaravel-dynamic-column/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HalalSoft%2Flaravel-dynamic-column/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/HalalSoft","download_url":"https://codeload.github.com/HalalSoft/laravel-dynamic-column/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HalalSoft%2Flaravel-dynamic-column/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264010960,"owners_count":23543717,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dynamic-columns","eloquent","laravel","mariadb"],"created_at":"2024-10-02T03:04:44.384Z","updated_at":"2025-07-07T04:09:34.314Z","avatar_url":"https://github.com/HalalSoft.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Trait to Manage an MariaDB dynamic columns blob\n\n[![Latest Version on Packagist](https://img.shields.io/packagist/v/halalsoft/laravel-dynamic-column.svg?style=flat-square)](https://packagist.org/packages/halalsoft/laravel-dynamic-column)\n[![Software License](https://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat-square)](LICENSE.md)\n[![Quality Score](https://img.shields.io/scrutinizer/g/halalsoft/laravel-dynamic-column.svg?style=flat-square)](https://scrutinizer-ci.com/g/halalsoft/laravel-dynamic-column)\n[![Total Downloads](https://img.shields.io/packagist/dt/halalsoft/laravel-dynamic-column.svg?style=flat-square)](https://packagist.org/packages/halalsoft/laravel-dynamic-column)\n\nThe `laravel-dynamic-column` package provides a `HasDynamicColumn` trait, which allows you to easily handle MariaDB dynamic column using Eloquent or Query Builder.\n\n```php\n// The `Author` class uses the `HasDynamicColumn` trait and `Dynamic` cast attribute on the `option` column\n$author = Author::where('option-\u003evehicle','car')-\u003efirst();\n\n\n$author = $author-\u003eoption;\n// =\u003e Array containing `option` dynamic  column\n$option = $author-\u003eoption;\n$option['vehicle_brand'] = 'Esemka';\n$author-\u003eoption = $option;\n$author-\u003esave();\n\n//You can also create data field as array\n$newData = MyModel::create([\n    'other_column' =\u003e 'this just another column data',\n    'the_column' =\u003e ['data1'=\u003e'value1','data2'=\u003e'value2']\n]);\n\n//to update a json field/key you use, you may use the `-\u003e` operator when calling the update method:\n\n$page-\u003eupdate(['content-\u003edata1' =\u003e 'value1new']);\n    \n//or you can still update whole column using normal array:\n$page-\u003eupdate(['content' =\u003e ['data1'=\u003e'value1new','data2'=\u003e'value2new']]);\n//You can set as array using other method like `updateOrCreate()`, `firstOrCreate()`,  etc.\n\n//This package also support query builder using:\nModel::query()-\u003ewhere('the_column-\u003edata1', 'value1')-\u003efirst();\n```\n\n\n## Install\n\nYou can install the package via composer:\n\n```bash\ncomposer require halalsoft/laravel-dynamic-column\n```\n\n## Usage\n\nYou can start using the package by adding the `HasDynamicColumn` trait and use `Dynamic` as attribute cast  to your models.\n\n```php\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Halalsoft\\LaravelDynamicColumn\\Dynamic;\nuse Halalsoft\\LaravelDynamicColumn\\HasDynamicColumn;\n\nclass Post extends Model\n{\n    use HasDynamicColumn;\n    protected $casts\n        = [\n            'content' =\u003e Dynamic::class,\n        ];\n}\n```\n\n### Other explain will be added soon\n\n## Security\n\nIf you discover any security related issues, just open an issue on this git or email me to dyas@yaskur.com .\n\n\n## License\n\nThe MIT License (MIT). Please see [License File](LICENSE) for more information.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhalalsoft%2Flaravel-dynamic-column","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhalalsoft%2Flaravel-dynamic-column","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhalalsoft%2Flaravel-dynamic-column/lists"}