<?php namespace App\Models; use Illuminate\Auth\Authenticatable; use Laravel\Lumen\Auth\Authorizable; use Illuminate\Database\Eloquent\Model; use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract; use Illuminate\Contracts\Auth\Access\Authorizable as AuthorizableContract; class Mail extends Model { /** * The attributes that are mass assignable. * * @var array */ protected $fillable = [ 'user_id', 'mail', 'validation_code', 'primary', 'status' ]; /** * The attributes excluded from the model's JSON form. * * @var array */ protected $hidden = [ 'validation_code', ]; public function createValidationToken() { $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; $randstring = ''; for ($i = 0; $i < 20; $i++) { $randstring .= $characters[rand(0, strlen($characters)-1)]; } $this->validation_code = $randstring; } public function getUser() { return User::query()->where("id", "=", $this->user_id)->first(); } }