Lae/app/Models/User/Host.php

73 lines
1.4 KiB
PHP
Raw Normal View History

2022-08-13 06:04:47 +00:00
<?php
namespace App\Models\User;
2022-08-13 08:37:17 +00:00
use App\Models\User;
use App\Models\Module\Module;
2022-08-15 11:10:51 +00:00
use Illuminate\Support\Facades\Cache;
2022-08-13 06:04:47 +00:00
use Illuminate\Database\Eloquent\Model;
2022-08-13 08:37:17 +00:00
use Illuminate\Database\Eloquent\SoftDeletes;
use Illuminate\Database\Eloquent\Factories\HasFactory;
2022-08-13 06:04:47 +00:00
class Host extends Model
{
2022-08-13 08:37:17 +00:00
use HasFactory, SoftDeletes;
protected $table = 'hosts';
protected $fillable = [
'name',
2022-08-15 13:20:42 +00:00
'module_id',
2022-08-13 08:37:17 +00:00
'user_id',
'price',
'configuration',
2022-08-15 10:48:53 +00:00
'status',
'managed_price',
2022-08-13 08:37:17 +00:00
];
protected $casts = [
'configuration' => 'array'
];
// user
public function user() {
return $this->belongsTo(User::class);
}
2022-08-15 13:20:42 +00:00
// module
public function module() {
return $this->belongsTo(Module::class);
}
2022-08-13 08:37:17 +00:00
// workorders
public function workorders() {
return $this->hasMany(Workorder::class);
}
// module 远程一对一
2022-08-15 11:10:51 +00:00
// public function module() {
// return $this->hasOneThrough(Module::class, ProviderModule::class);
// }
2022-08-13 08:37:17 +00:00
// scope
public function scopeActive($query) {
return $query->where('status', 'running')->where('price', '!=', 0);
}
// on create
protected static function boot()
{
parent::boot();
static::creating(function ($model) {
2022-08-15 13:20:42 +00:00
// $model->load('module');
// $model->module->load(['provider', 'module']);
2022-08-13 08:37:17 +00:00
// add to queue
});
}
2022-08-13 06:04:47 +00:00
}