d2d.emegrendeles.hu/app/Models/PriceList.php
E98Developer 68b7c35bef git init
2026-02-28 06:53:05 +01:00

67 lines
1.9 KiB
PHP

<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\BelongsToMany;
use Illuminate\Database\Eloquent\Relations\MorphOne;
/**
* @property Supplier supplier
*/
// class PriceList extends Model implements AuditableContract
class PriceList extends BaseAuditable
{
public function attachment(): MorphOne
{
return $this->morphOne(Attachment::class, 'attachable');
}
// protected $hidden=['created_at'];
public function supplier(): BelongsTo
{
return $this->belongsTo(Supplier::class);
}
private array $productRelations = ['Producer', 'picture', 'specification'];
public function getProductRelations(): array
{
return $this->productRelations;
}
public function setProductRelations(array $productRelations): void
{
$this->productRelations = $productRelations;
}
public function products(): BelongsToMany
{
return $this->belongsToMany(Product::class, 'price_list_prices', 'price_list_id', 'product_id')
// ->where('price_list_id','=',$priceListId)
// ->where('product_group_id','=',12)
->whereRaw('price_list_prices.price_list_id = ?', [$this->id])
->withTimestamps()
->withPivot(['price'])
// ->with('Producer')
->with($this->productRelations)
// ->using(PricePivot::class)
->as('priceListPrice');
// ->wherePivot('price','<','500')
}
public function productsWithRelations(): BelongsToMany
{
return $this->belongsToMany(Product::class, 'price_list_prices', 'price_list_id', 'product_id')
->withTimestamps()
->withPivot(['price'])
->with(['Producer', 'ProductGroup'])
// ->using(PricePivot::class)
->as('priceListPrice');
// ->wherePivot('price','<','500')
}
}