Surcharger Entity

Par CalvinHobbes, il y a 5 ans


Hello,

Dans mon projet d'alternance, j'ai une table qui contient notamment, des valeurs calculées:

Et des champs simples, notamment :

En gros, le champs "maxStockGaucher" est le champs qui va contenir la valeur la plus haute (Max) du magasin .

Le champs "countStockGaucher" est lui un champs qui sert à trouver la valeur maximum de "maxStockGaucher".

Ce que je veux faire, c'est surcharger l'entité pour qu'à chaque ajout/modification, le champs "maxStockGaucher" ait la valeur max , uniquement du magasin.

Par exemple, si le magasin A possède 3 produits dont le champs "countStockGaucher" est à 5, les 3 lignes concernant le magasin A prennent la valeur 5.

Si le magasin B, lui a 4 produits dont le champs "countStockGaucher" est à 2, les 4 lignes concernant le magasin B prennent la valeur 4.

Je partais sur une idée comme cela et voulais savoir si c'était possible.

public function setmaxStockGaucher(int $storeId) { foreach ($products as $value) { if ($storeId = $storeId) { return $this->maxStockGaucher = max($this->countStockGaucher); } } }

J'avais regardé du côté des PROCEDURES et des TRIGGERS mais ca n'a pas l'air d'être les solutions adaptées car:

D'avance merci :)

1 réponse

gillesr, il y a 5 ans

Salut,

je ne suis pas certain de bien comprendre comment tu veux faire ton calcul (ni ce que tu veux calculer).

Je vois d'abord plusieurs problèmes dans ta méthode :

  • dans ton if, tu ne fais pas une comparaison mais une assignation donc la condition sera toujours vraie,
  • ensuite, tu passes un argument à ta méthode qui est utilisé pour une comparaison avec lui même donc ce sera toujours vrai quand même,
    • tu n'utilise ni $storeId, ni $value, donc je ne vois pas trop à quoi sert la boucle.

Gillesr