logOnlyDirty() -> logOnly(['*']) -> dontSubmitEmptyLogs(); } public $incrementing = false; protected $guarded = ['id']; public static function boot() { parent::boot(); static::creating(function (Product $product) { $client = new Client(); $product->{$product->getKeyName()} = $client->generateId($size = 21); }); static::deleting(function (Product $product) { $product->nodes()->detach(); $product->eggs()->detach(); }); } public function getHourlyPrice() { return ($this->price / 30) / 24; } public function getDailyPrice() { return $this->price / 30; } public function getWeeklyPrice() { return $this->price / 4; } /** * @return BelongsTo */ public function servers() { return $this->belongsTo(Server::class, 'id', 'product_id'); } /** * @return BelongsToMany */ public function eggs() { return $this->belongsToMany(Egg::class); } /** * @return BelongsToMany */ public function nodes() { return $this->belongsToMany(Node::class); } }