/** * Fix cost by mobile or carrier * @param int|string|Mobile|Carrier $mobileOrCarrier Can be mobile number or instance of Mobile or Carrier */ public function fix($mobileOrCarrier) { // If instance of carrier if ($mobileOrCarrier instanceof Carrier) { // Use $this->carrier = $mobileOrCarrier; } elseif ($mobileOrCarrier instanceof Mobile) { // Get carrier $this->carrier = $mobileOrCarrier->carrier; } else { // Get carrier $this->carrier = Loader::mobile($mobileOrCarrier)->carrier; } // Adjust and return return $this->adjust(); }
/** * Set mobile */ protected function setMobileAttribute($value) { // If null if ($value === null) { // Return null return null; } // Return mobile return $value instanceof Mobile ? $value : Loader::mobile($value); }