forked from a1gard/xshop
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
130 lines
5.2 KiB
PHP
130 lines
5.2 KiB
PHP
<?php
|
|
|
|
namespace App\Models;
|
|
|
|
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
use Illuminate\Database\Eloquent\Model;
|
|
use Illuminate\Foundation\Auth\User as Authenticatable;
|
|
use Illuminate\Contracts\Auth\MustVerifyEmail;
|
|
use Illuminate\Notifications\Notifiable;
|
|
|
|
/**
|
|
* App\Models\Customer
|
|
*
|
|
* @property int $id
|
|
* @property string $name
|
|
* @property string $email
|
|
* @property \Illuminate\Support\Carbon|null $email_verified_at
|
|
* @property string $password
|
|
* @property int|null $state
|
|
* @property int|null $city
|
|
* @property string|null $mobile
|
|
* @property string|null $address
|
|
* @property string|null $postal_code
|
|
* @property string|null $remember_token
|
|
* @property \Illuminate\Support\Carbon|null $created_at
|
|
* @property \Illuminate\Support\Carbon|null $updated_at
|
|
* @property-read \Illuminate\Notifications\DatabaseNotificationCollection|\Illuminate\Notifications\DatabaseNotification[] $notifications
|
|
* @property-read int|null $notifications_count
|
|
* @method static \Database\Factories\CustomerFactory factory(...$parameters)
|
|
* @method static \Illuminate\Database\Eloquent\Builder|Customer newModelQuery()
|
|
* @method static \Illuminate\Database\Eloquent\Builder|Customer newQuery()
|
|
* @method static \Illuminate\Database\Eloquent\Builder|Customer query()
|
|
* @method static \Illuminate\Database\Eloquent\Builder|Customer whereAddress($value)
|
|
* @method static \Illuminate\Database\Eloquent\Builder|Customer whereCity($value)
|
|
* @method static \Illuminate\Database\Eloquent\Builder|Customer whereCreatedAt($value)
|
|
* @method static \Illuminate\Database\Eloquent\Builder|Customer whereEmail($value)
|
|
* @method static \Illuminate\Database\Eloquent\Builder|Customer whereEmailVerifiedAt($value)
|
|
* @method static \Illuminate\Database\Eloquent\Builder|Customer whereId($value)
|
|
* @method static \Illuminate\Database\Eloquent\Builder|Customer whereMobile($value)
|
|
* @method static \Illuminate\Database\Eloquent\Builder|Customer whereName($value)
|
|
* @method static \Illuminate\Database\Eloquent\Builder|Customer wherePassword($value)
|
|
* @method static \Illuminate\Database\Eloquent\Builder|Customer wherePostalCode($value)
|
|
* @method static \Illuminate\Database\Eloquent\Builder|Customer whereRememberToken($value)
|
|
* @method static \Illuminate\Database\Eloquent\Builder|Customer whereState($value)
|
|
* @method static \Illuminate\Database\Eloquent\Builder|Customer whereUpdatedAt($value)
|
|
* @property string|null $code
|
|
* @method static \Illuminate\Database\Eloquent\Builder|Customer whereCode($value)
|
|
* @property string|null $address_alt
|
|
* @property string|null $sms
|
|
* @property-read \Illuminate\Database\Eloquent\Collection|\App\Models\Invoice[] $invoices
|
|
* @property-read int|null $invoices_count
|
|
* @property-read \Illuminate\Database\Eloquent\Collection|\App\Models\Ticket[] $main_tickets
|
|
* @property-read int|null $main_tickets_count
|
|
* @property-read \Illuminate\Database\Eloquent\Collection|\App\Models\Ticket[] $tickets
|
|
* @property-read int|null $tickets_count
|
|
* @method static \Illuminate\Database\Eloquent\Builder|Customer whereAddressAlt($value)
|
|
* @method static \Illuminate\Database\Eloquent\Builder|Customer whereSms($value)
|
|
* @property int $colleague
|
|
* @method static \Illuminate\Database\Eloquent\Builder|Customer whereColleague($value)
|
|
* @property string|null $description
|
|
* @method static \Illuminate\Database\Eloquent\Builder|Customer whereDescription($value)
|
|
* @property int $credit
|
|
* @property-read \Illuminate\Database\Eloquent\Collection|\App\Models\Product[] $products
|
|
* @property-read int|null $products_count
|
|
* @method static \Illuminate\Database\Eloquent\Builder|Customer whereCredit($value)
|
|
* @property int $cerdit
|
|
* @property-read \Illuminate\Database\Eloquent\Collection|\App\Models\Address[] $addresses
|
|
* @property-read int|null $addresses_count
|
|
* @property-read \Illuminate\Database\Eloquent\Collection|\App\Models\Credit[] $credits
|
|
* @property-read int|null $credits_count
|
|
* @method static \Illuminate\Database\Eloquent\Builder|Customer whereCerdit($value)
|
|
* @mixin \Eloquent
|
|
*/
|
|
class Customer extends Authenticatable
|
|
{
|
|
use HasFactory,Notifiable;
|
|
//
|
|
|
|
protected $guard = 'customer';
|
|
/**
|
|
* The attributes that are mass assignable.
|
|
*
|
|
* @var array
|
|
*/
|
|
protected $fillable = [
|
|
'name', 'email', 'password','mobile','address','state','city','postal_code'
|
|
];
|
|
|
|
/**
|
|
* The attributes that should be hidden for arrays.
|
|
*
|
|
* @var array
|
|
*/
|
|
protected $hidden = [
|
|
'password', 'remember_token',
|
|
];
|
|
|
|
/**
|
|
* The attributes that should be cast to native types.
|
|
*
|
|
* @var array
|
|
*/
|
|
protected $casts = [
|
|
'email_verified_at' => 'datetime',
|
|
];
|
|
|
|
public function invoices(){
|
|
return $this->hasMany(Invoice::class);
|
|
}
|
|
|
|
public function tickets(){
|
|
return $this->hasMany(Ticket::class);
|
|
}
|
|
|
|
public function main_tickets(){
|
|
return $this->hasMany(Ticket::class)->whereNull('parent_id');
|
|
}
|
|
|
|
public function products(){
|
|
return $this->belongsToMany(Product::class,'customer_product');
|
|
}
|
|
public function credits(){
|
|
return $this->hasMany(Credit::class);
|
|
}
|
|
|
|
public function addresses(){
|
|
return $this->hasMany(Address::class);
|
|
}
|
|
}
|