選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

105 行
2.7KB

  1. <?php
  2. namespace common\models;
  3. use Yii;
  4. /**
  5. * This is the model class for table "produit".
  6. *
  7. * @property integer $id
  8. * @property string $nom
  9. * @property string $description
  10. * @property integer $actif
  11. * @property string $illustration
  12. * @property string $photo
  13. * @property string $saison
  14. * @property double $prix
  15. * @property double $poids
  16. * @property string $recette
  17. */
  18. class Produit extends \yii\db\ActiveRecord
  19. {
  20. var $total = 0 ;
  21. /**
  22. * @inheritdoc
  23. */
  24. public static function tableName()
  25. {
  26. return 'produit';
  27. }
  28. /**
  29. * @inheritdoc
  30. */
  31. public function rules()
  32. {
  33. return [
  34. [['nom', 'id_etablissement'], 'required'],
  35. [['actif','order','quantite_max', 'id_etablissement'], 'integer'],
  36. [['lundi','mardi','mercredi','jeudi','vendredi','samedi','dimanche','epuise'], 'boolean'],
  37. [['prix', 'poids'], 'number'],
  38. [['illustration','photo'], 'file'],
  39. [['nom', 'description', 'illustration', 'photo', 'saison','diminutif'], 'string', 'max' => 255],
  40. [['recette'], 'string','max'=>1000],
  41. ];
  42. }
  43. /**
  44. * @inheritdoc
  45. */
  46. public function attributeLabels()
  47. {
  48. return [
  49. 'id' => 'ID',
  50. 'nom' => 'Nom',
  51. 'description' => 'Description',
  52. 'actif' => 'Actif',
  53. 'illustration' => 'Illustration',
  54. 'photo' => 'Photo',
  55. 'saison' => 'Saison',
  56. 'prix' => 'Prix',
  57. 'poids' => 'Poids (g)',
  58. 'recette' => 'Recette',
  59. 'lundi' => 'Lundi',
  60. 'mardi' => 'Mardi',
  61. 'mercredi' => 'Mercredi',
  62. 'jeudi' => 'Jeudi',
  63. 'vendredi' => 'Vendredi',
  64. 'samedi' => 'Samedi',
  65. 'dimanche' => 'Dimanche',
  66. 'order' => 'Ordre',
  67. 'quantite_max' => 'Quantité max par défaut',
  68. 'epuise' => 'Épuisé',
  69. ];
  70. }
  71. public function getDescription() {
  72. $description = $this->description ;
  73. if(isset($this->poids) && is_numeric($this->poids) && $this->poids > 0) {
  74. if($this->poids >= 1000) {
  75. $description .= ' ('.($this->poids / 1000).'kg)' ;
  76. }
  77. else {
  78. $description .= ' ('.$this->poids.'g)' ;
  79. }
  80. }
  81. return $description ;
  82. }
  83. public function getLibelleAdmin() {
  84. if(strlen($this->diminutif))
  85. return $this->diminutif ;
  86. else
  87. return $this->description ;
  88. }
  89. public function save($runValidation = true, $attributeNames = NULL)
  90. {
  91. $this->id_etablissement = Yii::$app->user->identity->id_etablissement ;
  92. return parent::save($runValidation, $attributeNames) ;
  93. }
  94. }