mivita/app/Models/UserBusiness.php
2022-07-29 18:18:05 +02:00

104 lines
2.2 KiB
PHP

<?php
/**
* Created by Reliese Model.
*/
namespace App\Models;
use Carbon\Carbon;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Casts\AsArrayObject;
class UserBusiness extends Model
{
protected $table = 'user_businesses';
protected $casts = [
'user_id' => 'int',
'month' => 'int',
'year' => 'int',
'b_structure_id' => 'int',
'm_level_id' => 'int',
'active_account' => 'bool',
'm_account' => 'int',
'sales_volume_points' => 'int',
'sales_volume_points_shop' => 'int',
'sales_volume_points_sum' => 'int',
'sales_volume_total' => 'float',
'sales_volume_total_shop' => 'float',
'sales_volume_total_sum' => 'float',
'margin' => 'int',
'margin_shop' => 'int',
'qual_kp' => 'int',
'qual_tp' => 'int',
'total_tp' => 'int',
'total_qual_tp' => 'int',
'commission_team_total' => 'float',
'commission_shop_sales' => 'float',
'qual_user_level' => 'array',
'sponsor' => 'object',
'business_lines' => AsArrayObject::class,
'user_items' => AsArrayObject::class
];
protected $dates = [
'payment_account_date',
'active_date'
];
protected $fillable = [
'user_id',
'month',
'year',
'b_structure_id',
'm_level_id',
'sponsor',
'user_level_name',
'active_account',
'payment_account_date',
'active_date',
'm_account',
'email',
'first_name',
'last_name',
'sales_volume_points',
'sales_volume_points_shop',
'sales_volume_points_sum',
'sales_volume_total',
'sales_volume_total_shop',
'sales_volume_total_sum',
'margin',
'margin_shop',
'qual_kp',
'qual_tp',
'qual_user_level',
'total_tp',
'total_qual_tp',
'commission_team_total',
'commission_shop_sales',
'business_lines',
'user_items',
];
public function user_business_structure()
{
return $this->belongsTo(UserBusinessStructure::class, 'b_structure_id');
}
public function isSave(){
return $this->id !== null ? true : false;
}
public function setPaymentAccountDateAttribute( $value ) {
$this->attributes['payment_account_date'] = isset($value) ? (new Carbon($value))->format('Y-m-d') : NULL;
}
public function setActiveDateAttribute( $value ) {
$this->attributes['active_date'] = isset($value) ? (new Carbon($value))->format('Y-m-d') : NULL;
}
}