kolirt / laravel-master-model
Package will help for easing save relations and upload files.
3.0.2
2023-09-06 14:56 UTC
This package is auto-updated.
Last update: 2024-04-06 16:20:31 UTC
README
Package will help for easing save relations and upload files.
Installation
$ composer require kolirt/laravel-master-model
Usage
You need to use trait in your model from Kolirt\MasterModel\Model
.
Example
Provider.php
<?php namespace App\Models; use Illuminate\Database\Eloquent\Model; use Kolirt\MasterModel\MasterModel; class Provider extends Model { use MasterModel; protected $fillable = [ 'name', 'city', 'address', 'postcode', 'image', 'active', ]; protected $casts = [ 'active' => 'boolean', ]; public function agents() { return $this->hasMany(ProviderContact::class); } }
ProviderContact.php
<?php namespace App\Models; use Illuminate\Database\Eloquent\Model; use Kolirt\MasterModel\MasterModel; class ProviderContact extends Model { use MasterModel; protected $fillable = [ 'name', 'phone', 'email', 'position', 'active', ]; protected $casts = [ 'active' => 'boolean', ]; public function provider() { return $this->belongsTo(Provider::class); } }
ExampleController.php
<?php namespace App\Http\Controllers\Api; use App\Http\Controllers\Controller; use App\Models\Provider; class ExampleController extends Controller { public function index() { $data = [ 'name' => 'Lang Ltd', 'city' => 'Little Rock', 'address' => '1231 Fittro Street', 'postcode' => '72210', 'image' => '', // UploadedFile or path to file 'active' => true, 'agents' => [ // relation [ 'name' => 'Jose B. Pauli', 'phone' => '602-697-8030', 'email' => 'JoseBPauli@dayrep.com', 'position' => 'Manager', 'active' => true ], [ 'name' => 'Sherry B. Crider', 'phone' => '301-967-7367', 'email' => 'SherryBCrider@jourrapide.com', 'position' => 'Bellhop', 'active' => true ] ] ]; Provider::create($data); } }