This commit is contained in:
2023-03-10 17:43:26 +01:00
parent 5b7403cbbc
commit 29c744c0ec
12 changed files with 305 additions and 12 deletions

View File

@@ -3,7 +3,6 @@
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsToMany;
class Categories extends Model
@@ -24,4 +23,12 @@ class Categories extends Model
return $this->belongsToMany('App\Models\Produits', 'produits_categories', 'categories_id', 'products_id');
}
public function setDataTree() {
foreach ($this->Produits as $p) {
$p->setCalculatedFields();
}
}
}

View File

@@ -3,7 +3,6 @@
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Clients extends Model
{
@@ -23,4 +22,11 @@ class Clients extends Model
{
return $this->hasMany('App\Models\Commandes', 'clients_id', 'id');
}
public function setDataTree() {
foreach($this->Commandes as $commande) {
$commande->setCalculatedFields();
$commande->setDataTree();
}
}
}

View File

@@ -3,7 +3,6 @@
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\HasMany;
@@ -28,6 +27,17 @@ class Commandes extends Model
public function LignesCommandes(): HasMany
{
return $this->hasMany('App\Models\Lignes_Commandes', 'comandes_id', 'id');
return $this->hasMany('App\Models\Lignes_Commandes', 'commandes_id', 'id');
}
public function setDataTree() {
if($this->clients_id > 0) {
$this->Client->setCalculatedFields();
}
foreach($this->LignesCommandes as $lc) {
$lc->setCalculatedFields();
}
}
}

View File

@@ -3,7 +3,6 @@
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
class Lignes_Commandes extends Model
@@ -29,4 +28,10 @@ class Lignes_Commandes extends Model
return $this->belongsTo('App\Models\Commandes', 'commandes_id', 'id');
}
public function setDataTree(){
foreach($this->Produits as $produit){
$produit->setCalculatedFields();
}
}
}

43
app/Models/Model.php Normal file
View File

@@ -0,0 +1,43 @@
<?php
namespace App\Models;
use Illuminate\Http\Request;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model as Basemodel;
class Model extends Basemodel
{
use HasFactory;
public static function fetchOne(int $id) {
$class = get_called_class();
$instance = $class::find($id);
/*
if($instance) {
$instance->setCalculatedFields();
}
*/
return $instance;
}
public static function fetchAll(Request $request, Bool $paginate = true) {
$class = get_called_class();
if($paginate) {
$instances = $class::paginate(24);
} else {
$instances = $class::get();
}
foreach ($instances as $i) {
$i->setCalculatedFields();
}
return $instances;
}
public function setCalculatedFields() {
//
}
}

View File

@@ -3,7 +3,6 @@
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsToMany;
use Illuminate\Database\Eloquent\Relations\HasMany;
@@ -30,4 +29,12 @@ class Produits extends Model
return $this->hasMany('App\Models\Lignes_Commandes', 'produits_id', 'id');
}
public function setDataTree(){
foreach($this->Categories as $categorie){
$categorie->setCalculatedFields();
}
}
}