| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 | 
							- <?php
 
- namespace App\Shop\Customers;
 
- use App\Shop\Addresses\Address;
 
- use App\Shop\Orders\Order;
 
- use Illuminate\Database\Eloquent\SoftDeletes;
 
- use Illuminate\Notifications\Notifiable;
 
- use Illuminate\Foundation\Auth\User as Authenticatable;
 
- use Laravel\Cashier\Billable;
 
- use Nicolaslopezj\Searchable\SearchableTrait;
 
- class Customer extends Authenticatable
 
- {
 
-     use Notifiable, SoftDeletes, SearchableTrait, Billable;
 
-     /**
 
-      * The attributes that are mass assignable.
 
-      *
 
-      * @var array
 
-      */
 
-     protected $fillable = [
 
-         'name',
 
-         'email',
 
-         'password',
 
-         'status'
 
-     ];
 
-     /**
 
-      * The attributes that should be hidden for arrays.
 
-      *
 
-      * @var array
 
-      */
 
-     protected $hidden = [
 
-         'password',
 
-         'remember_token',
 
-     ];
 
-     protected $dates = ['deleted_at'];
 
-     /**
 
-      * Searchable rules.
 
-      *
 
-      * @var array
 
-      */
 
-     protected $searchable = [
 
-         'columns' => [
 
-             'customers.name' => 10,
 
-             'customers.email' => 5
 
-         ]
 
-     ];
 
-     /**
 
-      * @return \Illuminate\Database\Eloquent\Relations\HasMany
 
-      */
 
-     public function addresses()
 
-     {
 
-         return $this->hasMany(Address::class)->whereStatus(true);
 
-     }
 
-     /**
 
-      * @return \Illuminate\Database\Eloquent\Relations\HasMany
 
-      */
 
-     public function orders()
 
-     {
 
-         return $this->hasMany(Order::class);
 
-     }
 
-     /**
 
-      * @param $term
 
-      *
 
-      * @return mixed
 
-      */
 
-     public function searchCustomer($term)
 
-     {
 
-         return self::search($term);
 
-     }
 
- }
 
 
  |