<?php namespace common\models; use yii\base\Object; use Yii; /** * This is the model class for table "production_produit". * * @property integer $id * @property integer $id_production * @property integer $id_produit * @property integer $actif */ class ProductionProduit extends \yii\db\ActiveRecord { /** * @inheritdoc */ public static function tableName() { return 'production_produit'; } /** * @inheritdoc */ public function rules() { return [ [['id_production', 'id_produit', 'actif','quantite_max'], 'integer'] ]; } public function getProduit() { return $this->hasOne(Produit::className(), ['id'=>'id_produit']) ; } /** * @inheritdoc */ public function attributeLabels() { return [ 'id' => 'ID', 'id_production' => 'Id Production', 'id_produit' => 'Id Produit', 'actif' => 'Actif', 'quantite_max' => 'Quantité max', ]; } public static function findProduits($id_production) { $production_produits = ProductionProduit::find()->with('produit')->where(['id_production'=>$id_production])->all() ; $arr_production_produits = [] ; $commandes = Commande::find() ->with('commandeProduits','user') ->joinWith('production') ->where(['production.id'=>$id_production]) ->orderBy('date ASC') ->all() ; foreach($production_produits as $pp) { //$arr_production_produits[$pp->id_produit] = (int) $pp->actif ; //$arr_production_produits[$pp->id_produit] = $pp ; $arr_production_produits[$pp->id_produit] = [ 'actif'=> (int) $pp->actif, 'epuise' => (int) $pp->produit->epuise, 'vrac' => (int) $pp->produit->vrac, 'quantite_max' => $pp->quantite_max, 'quantite_commandee' => Commande::getQuantiteProduit($pp->id_produit, $commandes), 'quantite_restante' => $pp->quantite_max - Commande::getQuantiteProduit($pp->id_produit, $commandes) ] ; } return $arr_production_produits ; } }