Product.php 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. <?php
  2. namespace ModulesGarden\Servers\ProxmoxCloudVps\Core\Models\Whmcs;
  3. use \Illuminate\Database\Eloquent\Model as EloquentModel;
  4. /**
  5. * Description of Product
  6. *
  7. * @author Paweł Złamaniec <pawel.zl@modulesgarden.com>
  8. */
  9. class Product extends EloquentModel
  10. {
  11. /**
  12. * Table name
  13. *
  14. * @var string
  15. */
  16. protected $table = 'tblproducts';
  17. protected $primaryKey = 'id';
  18. /**
  19. * Eloquent guarded parameters
  20. * @var array
  21. */
  22. protected $guarded = ['id'];
  23. /**
  24. * Eloquent fillable parameters
  25. * @var array
  26. */
  27. protected $fillable = ['type', 'gid', 'name', 'description', 'hidden', 'showdomainoptions', 'welcomemail', 'stockcontrol', 'qty', 'proratabilling', 'proratadate', 'proratachargenextmonth', 'paytype', 'allowqty', 'subdomain', 'autosetup', 'servertype', 'servergroup', 'configoption1', 'configoption2', 'configoption3', 'configoption4', 'configoption5', 'configoption6', 'configoption7', 'configoption8', 'configoption9', 'configoption10', 'configoption11', 'configoption12', 'configoption13', 'configoption14', 'configoption15', 'configoption16', 'configoption17', 'configoption18', 'configoption19', 'configoption20', 'configoption21', 'configoption22', 'configoption23', 'configoption24', 'freedomain', 'freedomainpaymentterms', 'freedomaintlds', 'recurringcycles', 'autoterminatedays', 'autoterminateemail', 'configoptionsupgrade', 'billingcycleupgrade', 'upgradeemail', 'overagesenabled', 'overagesdisklimit', 'overagesbwlimit', 'overagesdiskprice', 'overagesbwprice', 'tax', 'affitiatepaytype', 'affiliateonetime', 'affiliatepayamount', 'order', 'retired', 'is_featured'];
  28. protected $date = ['created_at', 'updated_at'];
  29. /**
  30. * Indicates if the model should soft delete.
  31. *
  32. * @var bool
  33. */
  34. protected $softDelete = false;
  35. /**
  36. * Indicates if the model should be timestamped.
  37. *
  38. * @var bool
  39. */
  40. public $timestamps = false;
  41. public function __construct(array $attributes = [])
  42. {
  43. parent::__construct($attributes);
  44. }
  45. public function group()
  46. {
  47. return $this->belongsTo("ModulesGarden\Servers\ProxmoxCloudVps\Core\Models\Whmcs\ProductGroup", "gid");
  48. }
  49. public function upgrades()
  50. {
  51. return $this->hasMany("ModulesGarden\Servers\ProxmoxCloudVps\Core\Models\Whmcs\ProductUpgrade", "product_id");
  52. }
  53. }