'int', 'month' => 'int', 'year' => 'int', 'b_structure_id' => 'int', 'm_level_id' => 'int', 'active_account' => 'bool', 'm_account' => 'int', 'sales_volume_KP_points' => 'int', 'sales_volume_TP_points' => 'int', 'sales_volume_points_shop' => 'int', 'sales_volume_points_KP_sum' => 'int', 'sales_volume_points_TP_sum' => 'int', 'sales_volume_total' => 'float', 'sales_volume_total_shop' => 'float', 'sales_volume_total_sum' => 'float', 'payline_points' => 'int', 'payline_points_qual_kp' => 'int', 'margin' => 'float', 'margin_shop' => 'float', 'qual_kp' => 'int', 'qual_pp' => 'int', 'total_pp' => 'int', 'total_qual_pp' => 'int', 'commission_pp_total' => 'float', 'commission_growth_total' => 'float', 'commission_shop_sales' => 'float', 'qual_user_level' => 'array', 'qual_user_level_next' => 'array', 'next_qual_user_level' => 'array', 'next_can_user_level' => 'array', 'sponsor' => 'object', 'business_lines' => AsArrayObject::class, 'user_items' => AsArrayObject::class, 'version' => 'int', ]; 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', 'user_birthday', 'user_phone', 'sales_volume_KP_points', 'sales_volume_TP_points', 'sales_volume_points_shop', 'sales_volume_points_KP_sum', 'sales_volume_points_TP_sum', 'sales_volume_total', 'sales_volume_total_shop', 'sales_volume_total_sum', 'payline_points', 'payline_points_qual_kp', 'margin', 'margin_shop', 'qual_kp', 'qual_pp', 'qual_user_level', 'qual_user_level_next', 'next_qual_user_level', 'next_can_user_level', 'total_pp', 'total_qual_pp', 'commission_shop_sales', 'commission_pp_total', 'commission_growth_total', 'business_lines', 'user_items', 'version', ]; public function user() { return $this->belongsTo(User::class); } 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; } public function getSalesVolumeTotalMargin(){ return $this->sales_volume_total / 100 * $this->margin; } }