File: /home/clientsoftwares/www/genius.clientsoftwares.com/app/TransactionSellLine.php
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class TransactionSellLine extends Model
{
/**
* The attributes that aren't mass assignable.
*
* @var array
*/
protected $guarded = ['id'];
public function transaction()
{
return $this->belongsTo(\App\Transaction::class);
}
public function product()
{
return $this->belongsTo(\App\Product::class, 'product_id');
}
public function variations()
{
return $this->belongsTo(\App\Variation::class, 'variation_id');
}
public function modifiers()
{
return $this->hasMany(\App\TransactionSellLine::class, 'parent_sell_line_id')
->where('children_type', 'modifier');
}
public function sell_line_purchase_lines()
{
return $this->hasMany(\App\TransactionSellLinesPurchaseLines::class, 'sell_line_id');
}
/**
* Get the quantity column.
*
* @param string $value
* @return float $value
*/
public function getQuantityAttribute($value)
{
return (float) $value;
}
public function lot_details()
{
return $this->belongsTo(\App\PurchaseLine::class, 'lot_no_line_id');
}
public function get_discount_amount()
{
$discount_amount = 0;
if (! empty($this->line_discount_type) && ! empty($this->line_discount_amount)) {
if ($this->line_discount_type == 'fixed') {
$discount_amount = $this->line_discount_amount;
} elseif ($this->line_discount_type == 'percentage') {
$discount_amount = ($this->unit_price_before_discount * $this->line_discount_amount) / 100;
}
}
return $discount_amount;
}
/**
* Get the unit associated with the purchase line.
*/
public function sub_unit()
{
return $this->belongsTo(\App\Unit::class, 'sub_unit_id');
}
public function order_statuses()
{
$statuses = [
'received',
'cooked',
'served',
];
}
public function service_staff()
{
return $this->belongsTo(\App\User::class, 'res_service_staff_id');
}
/**
* The warranties that belong to the sell lines.
*/
public function warranties()
{
return $this->belongsToMany(\App\Warranty::class, 'sell_line_warranties', 'sell_line_id', 'warranty_id');
}
public function line_tax()
{
return $this->belongsTo(\App\TaxRate::class, 'tax_id');
}
public function so_line()
{
return $this->belongsTo(\App\TransactionSellLine::class, 'so_line_id');
}
}