ldc-legaulois/app/Models/Products.php
Jérémy Munsch 47144bbf7e
Modification Lot 2 page Santé nutrition
- suppression des 4 pages
- ajout de 2 nouvelle pages
- redirection des anciennes pages vers le nouvelles
- Le nouvelle page ne sont plus statiques (basés sur engagement)
- Ajout du Model NutritionPage
- Ajout des Enums NutritionBlocType, NutritionType
- Intégration complete avec responsive des deux nouvelles pages
- modification des composants vu pour créer une instance de Vuejs par composant existant pour ajouter et enlever des dropdowns
- Suppression des balanced menus
- fix login center image
- Modification de l'intégration de CKeditor
- Ajout de UploadController avec methode pour image
- html purifier fix config using ckeditor
- ckeditor set css base style on front and back (for nutrition pages on front)
2021-10-03 12:39:08 +02:00

90 lines
2.3 KiB
PHP

<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Products extends Model
{
protected $casts = [
'star' => 'boolean'
];
protected static function booted()
{
static::creating(function ($product) {
if (!$product->incoNutritionalValues) {
$inc = new IncoNutritionalValues();
$inc->product()->associate($inc);
}
$product->preparation_advice = clean($product->preparation_advice);
$product->ingredients = clean($product->ingredients);
$product->tips = clean($product->tips);
});
static::updating(function ($product) {
$product->preparation_advice = clean($product->preparation_advice);
$product->ingredients = clean($product->ingredients);
$product->tips = clean($product->tips);
});
}
public function pictograms()
{
return $this->belongsToMany(
ProductPictograms::class,
"products_pictograms",
"product_id",
"pictogram_id"
);
}
public function range()
{
return $this->belongsTo(Range::class);
}
public function subrange()
{
return $this->belongsTo(SubRange::class, 'sub_range_id');
}
public function meatType()
{
return $this->belongsTo(MeatTypes::class, 'meat_type_id');
}
public function consumptionTimes()
{
return $this->belongsTo(ConsumptionTimes::class, 'consumption_times_id');
}
public function recipe()
{
return $this->belongsTo(Recipes::class);
}
public function incoNutritionalValues()
{
return $this->hasOne(IncoNutritionalValues::class, 'product_id');
}
public function recipes()
{
return $this->belongsToMany(Recipes::class, 'recipes_products', 'product_id', 'recipe_id');
}
public function customers()
{
return $this->belongsToMany(Customers::class, 'cart', 'product_id', 'customer_id');
}
public function reductions()
{
return $this->belongsToMany(Reductions::class, 'reduction_config', 'product_id', 'reduction_id');
}
public function xmlInco()
{
return $this->belongsTo(XmlInco::class, 'xml_inco_id');
}
}