'int', 'shopping_order_id' => 'int', 'user_invoice_id' => 'int', 'month' => 'int', 'year' => 'int', 'points' => 'int', 'month_points' => 'int', 'month_shop_points' => 'int', 'total_net' => 'float', 'month_total_net' => 'float', 'month_shop_total_net' => 'float', 'status' => 'int', 'syslog' => 'array' ]; protected $dates = [ 'date' ]; protected $fillable = [ 'user_id', 'shopping_order_id', 'user_invoice_id', 'month', 'year', 'date', 'points', 'month_points', 'month_shop_points', 'total_net', 'month_total_net', 'month_shop_total_net', 'message', 'status', 'syslog' ]; public static $statusTypes = [ 0 => 'nicht zugewiesen', 1 => 'hinzugefügt aus Beraterbestellung', 2 => 'hinzugefügt aus Shopbestellung', 3 => 'hinzugefügt aus Shopbestellung / pending', 10 => '' ]; public function shopping_order() { return $this->belongsTo(ShoppingOrder::class); } public function user() { return $this->belongsTo(User::class); } public function user_invoice() { return $this->belongsTo(UserInvoice::class); } public function getDateAttribute(){ return $this->attributes['date'] ? Carbon::parse($this->attributes['date'])->format(\Util::formatDateDB()) : ''; } public function setDateAttribute( $value ) { $this->attributes['date'] = isset($value) ? (new Carbon($value))->format('Y-m-d') : NULL; } public function getDateRaw(){ return isset($this->attributes['date']) ? $this->attributes['date'] : NULL; } public function getStatusType(){ return isset(self::$statusTypes[$this->status]) ? self::$statusTypes[$this->status] : ""; } public function getFormatedMonthYear(){ return str_pad($this->month, 2, "0", STR_PAD_LEFT)."/".$this->year; } public function isCurrentMonthYear(){ if($this->month === intval(date('m')) && $this->year === intval(date('Y'))){ return true; } return false; } }