Files
ERP-upgrade/app/Models/Client.php
2026-08-13 20:12:24 +00:00

68 lines
2.0 KiB
PHP

<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Client extends Model
{
protected $guarded = [
'id'
];
public $table = "clients";
// protected $appends = ['client_services'];
public function country_info(){
return $this->hasOne('App\Models\Country', 'alpha_2_code', 'country');
}
public function country_flag_info(){
return $this->hasOne('App\Models\CountryFlag', 'country', 'country');
}
public function payment_type_info(){
return $this->hasOne('App\Models\PaymentType', 'id', 'pay_mode');
}
public function service_info(){
return $this->hasMany('App\Models\ClientCategory', 'client_id', 'id');
}
public function report_info(){
return $this->hasMany('App\Models\MeetingReport', 'client', 'id');
}
public function auth_user_info(){
return $this->hasOne('App\Models\StaffMember', 'id', 'auth_user_id');
}
public function account_manager(){
return $this->hasOne('App\Models\StaffMember', 'id', 'auth_user_id');
}
public function created_by_info(){
return $this->hasOne('App\Models\StaffMember', 'id', 'created_by');
}
public function modified_by_info(){
return $this->hasOne('App\Models\StaffMember', 'id', 'last_modified_by');
}
public function short_code_info(){
return $this->hasMany('App\Models\ShortCode', 'client_id', 'id');
}
public function getClientServicesAttribute(){
$services = $this->service_info;
$service_name_arr = [];
foreach ($services as $value) {
$service_name = Models\Service::find($value['category_id']);
$service_name_arr[] = $service_name->name;
}
return $service_name_arr;
}
protected $casts = [
'connections' => 'array',
'message_types' => 'array',
'services' => 'array',
'support_emails' => 'array',
'rate_emails' => 'array',
'support_skype' => 'array',
'support_phones' => 'array',
];
}