[ 'request'=>'options.phonenumber', 'key'=>'service_number', 'validation'=>'nullable|size:10|unique:service_phone,service_number', 'validation_message'=>'Phone Number is a required field.', ], 'options.supplier'=>[ 'request'=>'options.supplier', 'key'=>'order_info.supplier', 'validation'=>'required_with:options.phonenumber', 'validation_message'=>'Phone Supplier is a required field.', ], 'options.supplieraccnum'=>[ 'request'=>'options.supplieraccnum', 'key'=>'order_info.supplieraccnum', 'validation'=>'required_with:options.phonenumber', 'validation_message'=>'Phone Supplier Account Number is a required field.', ], 'options.notes'=>[ 'request'=>'options.notes', 'key'=>'order_info.notes', 'validation'=>'required_if:options.phonenumber,null', 'validation_message'=>'Special Instructions here.', ], ]; // The model that is referenced when this product is ordered protected string $order_model = ServicePhone::class; /* RELATIONS */ /** * The offering supplied with this product * * @return \Illuminate\Database\Eloquent\Relations\HasOne */ public function supplied() { return $this->hasOne(SupplierPhone::class,'id','supplier_item_id'); } /* INTERFACES */ public function getContractTermAttribute(): int { // @todo Get this from the DB return 12; } public function hasUsage(): bool { return FALSE; } public function allowance(): Collection { // TODO: Implement allowance() method. } public function allowance_string(): string { return "(TBA)"; } public function getCostAttribute(): float { // TODO: Implement getCostAttribute() method. } public function getSupplierAttribute() { // TODO: Implement getSupplierAttribute() method. } }