• File: Member.php
  • Full Path: /var/www/paytekchalenge/app/Models/Member.php
  • Date Modified: 07/19/2022 7:23 PM
  • File size: 1.67 KB
  • MIME-type: text/x-php
  • Charset: utf-8
<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;
use Laravel\Passport\HasApiTokens;
use DateTimeInterface;

class Member extends Authenticatable
{
    use HasApiTokens, Notifiable;

    //
    protected $fillable = ['name','password','status_user',
        'documents_id', 'member_number', 'address', 'phone',
        'photo', 'email', 'code', 'document_number', 'clubs_default_id',
        'clubs_id', 'quotas_id', 'cities_id', 'member_type'];

    public $table = "members";

    protected $hidden = [
        'password', 'remember_token', 'responsible_phone', 'bi',
    ];

    protected $casts = [
        'email_verified_at' => 'datetime',
    ];

    public function orders(){
        return $this->hasMany('App\Models\Order','member_id');
    }

    public function club(){
       return  $this->belongsTo('App\Models\Club','clubs_id');
    }

    public function quote(){
       return  $this->belongsTo('App\Models\Quota','quotas_id');
    }

    public function document(){
       return  $this->belongsTo('App\Models\Document','documents_id');
    }

    public function city(){
       return  $this->belongsTo('App\Models\City','cities_id');
    }

    public function comments(){
        return $this->hasMany('App\Models\PostComment','member_id');
    }

     protected function serializeDate(DateTimeInterface $date)
     {
         return $date->format('Y');
     }


    public function getPhotoAttribute($photo) {
        // cria um link completo para aceder a imagem
        return asset($photo);
    }
}