comparison src/Models/BaseModel.php @ 2:b44434aaa767

Moving around the components. Made a big step in the right direction with the Builder and named joins being accessible.
author luka
date Wed, 18 Jun 2025 22:28:47 -0400
parents 56d9c64d64aa
children e6132a1e8e24
comparison
equal deleted inserted replaced
1:56d9c64d64aa 2:b44434aaa767
1 <?php 1 <?php
2 2
3 namespace Wizard\Framework\Models; 3 namespace Wizard\Framework\Models;
4 4
5 use Wizard\Framework\Traits\Filterable; 5 use Wizard\Framework\Traits\Filterable;
6 use Wizard\Framework\Database\Builder;
6 use Illuminate\Database\Eloquent\Model; 7 use Illuminate\Database\Eloquent\Model;
7 8
8 class BaseModel extends Model 9 class BaseModel extends Model
9 { 10 {
10 use Filterable; 11 use Filterable;
12
13 protected static string $builder = Builder::class;
11 14
12 protected $default_relations = []; 15 protected $default_relations = [];
13 16
14 public static function boot(): void 17 public static function boot(): void
15 { 18 {
22 25
23 self::saving(function ($item) { 26 self::saving(function ($item) {
24 $item->updated_by = \Auth::user()?->id ?? ''; 27 $item->updated_by = \Auth::user()?->id ?? '';
25 }); 28 });
26 } 29 }
30
27 31
28 protected static function load_auxilary_data() 32 protected static function load_auxilary_data()
29 { 33 {
30 $data = []; 34 $data = [];
31 35
52 56
53 public static function load_edit() 57 public static function load_edit()
54 { 58 {
55 return static::load_auxilary_data(); 59 return static::load_auxilary_data();
56 } 60 }
61
62 public static function named_joins() {
63 return [];
64 }
57 65
58 /** 66 /**
59 * Retrieve a query builder instance with default relations loaded. 67 * Retrieve a query builder instance with default relations loaded.
60 * 68 *
61 * @return \Illuminate\Database\Eloquent\Builder 69 * @return \Illuminate\Database\Eloquent\Builder