HEX
Server: LiteSpeed
System: Linux s1049.use1.mysecurecloudhost.com 4.18.0-477.27.2.lve.el8.x86_64 #1 SMP Wed Oct 11 12:32:56 UTC 2023 x86_64
User: xedaptot (3356)
PHP: 8.3.31
Disabled: NONE
Upload Files
File: /home/xedaptot/ai.naniguide.com/app/Model/BillingAddress.php
<?php

namespace App\Model;

use Illuminate\Database\Eloquent\Model;

class BillingAddress extends Model
{
    /**
     * The attributes that are mass assignable.
     *
     * @var array
     */
    protected $fillable = [
        'first_name',
        'last_name', 'email', 'country_id',
        'address', 'phone'
    ];

    /**
     * customer.
     */
    public function customer()
    {
        return $this->belongsTo('App\Model\Customer');
    }

    /**
     * country.
     */
    public function country()
    {
        return $this->belongsTo('App\Model\Country');
    }

    /**
     * Get default billing address.
     *
     * @var object
     */
    public function updateAll($request)
    {
        $this->fill($request->all());

        // make validator
        $validator = \Validator::make($request->all(), [
            'first_name' => 'required',
            'last_name' => 'required',
            'email' => 'required|email',
            'country_id' => 'required',
            'address' => 'required',
        ]);

        // redirect if fails
        if ($validator->fails()) {
            return [$validator, $this];
        }

        $this->customer_id = $request->user()->customer->id;

        $this->save();

        return [$validator, $this];
    }

    /**
     * Copy from contact.
     *
     * @var object
     */
    public function copyFromContact()
    {
        if ($this->customer && $this->customer->contact) {
            $this->fill($this->customer->contact->toArray());
        }
    }
}