PackageSetting.php 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. <?php
  2. namespace MGModule\DNSManager2\models\custom\package\setting;
  3. use MGModule\DNSManager2 as main;
  4. /**
  5. * Log class
  6. *
  7. * @Table(name=packagesetting)
  8. */
  9. class PackageSetting extends main\mgLibs\models\orm{
  10. /**
  11. * ID field
  12. *
  13. * @Column(id)
  14. * @var int
  15. */
  16. public $id;
  17. /**
  18. *
  19. * @Column(int=11, refrence=models\custom\package\Package::id,uniqueKey=1)
  20. * @var string
  21. */
  22. public $packageid;
  23. /**
  24. *
  25. * @Column(varchar,uniqueKey=1,isKey=1)
  26. * @var string
  27. */
  28. public $key;
  29. /**
  30. *
  31. * @Column(text)
  32. * @var string
  33. */
  34. public $value;
  35. public function __toString() {
  36. return $this->value;
  37. }
  38. public static function byPackageAndKey($packageid, $key) {
  39. return Repository::factory()->byPackageID($packageid)->byKey($key)->one();
  40. }
  41. public function getPackage() {
  42. return new main\models\custom\package\Package($this->packageid);
  43. }
  44. public function save($data = array()){
  45. if(!PackageSettingEnum::isValidValue($this->key)) {
  46. throw new \Exception('Invalid Package Setting Key');
  47. }
  48. parent::save($data);
  49. }
  50. }