vd/app/Models/Virtual/FlowPool.php
2019-03-28 18:12:39 +08:00

82 lines
4.0 KiB
PHP

<?php
namespace App\Models\Virtual;
use App\Core\Model;
use App\Models\Virtual\Company;
use App\Models\Virtual\Package;
use Illuminate\Database\Eloquent\SoftDeletes;
/**
* App\Models\Virtual\FlowPool
*
* @property int $id 自增ID
* @property string $sn 编号
* @property int $company_id 关联企业ID
* @property string $name 名称
* @property int $flows 流量值 -1不限流量 单位MB
* @property int $carrier_operator 运营商(0:联通 1:移动 2:电信)
* @property int $shared 共享类型 0:未知 1纵向共享 2横向共享
* @property array|null $package_ids 包含套餐
* @property array|null $real_pool_ids RD流量池ID
* @property string|null $remark 流量池备注
* @property string|null $start_at 开始时间
* @property string|null $end_at 结束时间
* @property \Illuminate\Support\Carbon|null $created_at
* @property \Illuminate\Support\Carbon|null $updated_at
* @property string|null $deleted_at
* @property-read \App\Models\Virtual\Company $company
* @property-read \Illuminate\Database\Eloquent\Collection|\App\Models\Virtual\Package[] $packages
* @property-read \Illuminate\Database\Eloquent\Collection|\App\Models\Virtual\FlowPoolSetting[] $settings
* @method static bool|null forceDelete()
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Virtual\FlowPool newModelQuery()
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Virtual\FlowPool newQuery()
* @method static \Illuminate\Database\Query\Builder|\App\Models\Virtual\FlowPool onlyTrashed()
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Virtual\FlowPool query()
* @method static bool|null restore()
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Virtual\FlowPool whereCarrierOperator($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Virtual\FlowPool whereCompanyId($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Virtual\FlowPool whereCreatedAt($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Virtual\FlowPool whereDeletedAt($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Virtual\FlowPool whereEndAt($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Virtual\FlowPool whereFlows($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Virtual\FlowPool whereId($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Virtual\FlowPool whereName($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Virtual\FlowPool whereProductIds($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Virtual\FlowPool whereRealPoolIds($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Virtual\FlowPool whereRemark($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Virtual\FlowPool whereShared($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Virtual\FlowPool whereSn($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Virtual\FlowPool whereStartAt($value)
* @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Virtual\FlowPool whereUpdatedAt($value)
* @method static \Illuminate\Database\Query\Builder|\App\Models\Virtual\FlowPool withTrashed()
* @method static \Illuminate\Database\Query\Builder|\App\Models\Virtual\FlowPool withoutTrashed()
* @mixin \Eloquent
*/
class FlowPool extends Model
{
use SoftDeletes;
protected $table = 'virtual_flow_pools';
protected $casts = [
'package_ids' => 'array',
'real_pool_ids' => 'array',
];
public function company()
{
return $this->belongsTo(Company::class, 'company_id', 'id');
}
public function packages()
{
return $this->belongsToMany(Package::class, 'virtual_flow_pool_packages', 'pool_id', 'package_id');
}
public function settings()
{
return $this->hasMany(FlowPoolSetting::class, 'pool_id', 'id');
}
}