2020-06-01 18:31:25 +00:00
|
|
|
<?php
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Created by Reliese Model.
|
|
|
|
*/
|
|
|
|
|
|
|
|
namespace App\Models;
|
|
|
|
|
|
|
|
use Carbon\Carbon;
|
|
|
|
use Illuminate\Database\Eloquent\Model;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Class Identification
|
2020-06-11 13:42:35 +00:00
|
|
|
*
|
2020-06-01 18:31:25 +00:00
|
|
|
* @property int $id
|
|
|
|
* @property string $firstname
|
|
|
|
* @property string $lastname
|
|
|
|
* @property Carbon $birth_date
|
2021-11-02 16:24:46 +00:00
|
|
|
* @property string $gender
|
2020-06-01 18:31:25 +00:00
|
|
|
* @property string $town
|
2020-06-11 13:42:35 +00:00
|
|
|
* @property string $country
|
2020-06-01 18:31:25 +00:00
|
|
|
* @property string $identity_document
|
|
|
|
* @property string $id_identity_document
|
2020-06-11 13:42:35 +00:00
|
|
|
* @property Carbon $expiry_date_document
|
|
|
|
* @property int $id_user
|
2020-06-01 18:31:25 +00:00
|
|
|
* @property int $status
|
|
|
|
* @property Carbon $createdAt
|
|
|
|
* @property string $user_image
|
2020-06-12 06:11:11 +00:00
|
|
|
* @property string $document_image_front
|
|
|
|
* @property string $document_image_back
|
2020-06-11 13:42:35 +00:00
|
|
|
* @property int $idNetwork
|
2020-06-12 06:11:11 +00:00
|
|
|
* @property int $country_id
|
2020-06-11 13:42:35 +00:00
|
|
|
*
|
2020-06-01 18:31:25 +00:00
|
|
|
* @property User $user
|
2020-06-11 13:42:35 +00:00
|
|
|
* @property Network $network
|
2020-06-01 18:31:25 +00:00
|
|
|
*
|
|
|
|
* @package App\Models
|
|
|
|
*/
|
|
|
|
class Identification extends Model
|
|
|
|
{
|
|
|
|
protected $table = 'identifications';
|
|
|
|
public $timestamps = false;
|
|
|
|
|
|
|
|
protected $casts = [
|
2020-06-11 13:42:35 +00:00
|
|
|
'id_user' => 'int',
|
|
|
|
'status' => 'int',
|
2020-06-12 06:11:11 +00:00
|
|
|
'idNetwork' => 'int',
|
|
|
|
'country_id' => 'int'
|
2020-06-01 18:31:25 +00:00
|
|
|
];
|
|
|
|
|
|
|
|
protected $dates = [
|
|
|
|
'birth_date',
|
2020-06-11 13:42:35 +00:00
|
|
|
'expiry_date_document',
|
2020-06-01 18:31:25 +00:00
|
|
|
'createdAt'
|
|
|
|
];
|
|
|
|
|
|
|
|
protected $fillable = [
|
2021-11-02 16:24:46 +00:00
|
|
|
'firstname',
|
|
|
|
'lastname',
|
|
|
|
'birth_date',
|
|
|
|
'gender',
|
|
|
|
'town',
|
|
|
|
'country',
|
|
|
|
'identity_document',
|
|
|
|
'id_identity_document',
|
|
|
|
'expiry_date_document',
|
|
|
|
'id_user',
|
|
|
|
'status',
|
|
|
|
'createdAt',
|
|
|
|
'user_image',
|
|
|
|
'document_image_front',
|
2020-06-12 06:11:11 +00:00
|
|
|
'document_image_back',
|
|
|
|
'idNetwork',
|
|
|
|
'country_id'
|
2020-06-01 18:31:25 +00:00
|
|
|
];
|
|
|
|
|
2020-06-12 06:11:11 +00:00
|
|
|
public function country()
|
|
|
|
{
|
|
|
|
return $this->belongsTo(Country::class);
|
|
|
|
}
|
2020-06-01 18:31:25 +00:00
|
|
|
|
|
|
|
public function user()
|
|
|
|
{
|
2020-06-12 06:11:11 +00:00
|
|
|
return $this->belongsTo(User::class, 'id_user');
|
2020-06-01 18:31:25 +00:00
|
|
|
}
|
2020-06-11 13:42:35 +00:00
|
|
|
|
|
|
|
public function network()
|
|
|
|
{
|
|
|
|
return $this->belongsTo(Network::class, 'idNetwork');
|
|
|
|
}
|
|
|
|
|
|
|
|
public function rules()
|
|
|
|
{
|
|
|
|
return [
|
2021-11-02 16:24:46 +00:00
|
|
|
'lastname' => 'required',
|
|
|
|
'birth_date' => 'required|date|before_or_equal:today',
|
|
|
|
'gender' => 'required|in:M,F',
|
|
|
|
'town' => 'required',
|
|
|
|
'country' => 'required',
|
|
|
|
'identity_document' => 'required',
|
|
|
|
'id_identity_document' => 'required',
|
|
|
|
'expiry_date_document' => 'required|date|after_or_equal:today',
|
2020-06-12 09:27:18 +00:00
|
|
|
'id_user' => 'required_without_all:phone_number|integer|min:0|not_in:0',
|
|
|
|
'phone_number' => 'required_without_all:id_user'
|
2020-06-11 13:42:35 +00:00
|
|
|
];
|
|
|
|
}
|
2020-06-01 18:31:25 +00:00
|
|
|
}
|