possibilité de changer items dans getItemValues
This commit is contained in:
		
							parent
							
								
									a82143a41b
								
							
						
					
					
						commit
						d704ce8c07
					
				| @ -257,6 +257,10 @@ class CapacitorChannel implements ITransactor { | ||||
|    * Retourner la clé primaire par cette méthode est l'unique moyen de | ||||
|    * déclencher une mise à jour plutôt qu'une nouvelle création. | ||||
|    * | ||||
|    * Bien que ce ne soit pas prévu à la base, si on veut modifier $item dans | ||||
|    * cette méthode pour des raisons pratiques, il suffit de retournerla valeur | ||||
|    * modifiée avec la clé "item" | ||||
|    * | ||||
|    * Retourner [false] pour annuler le chargement | ||||
|    */ | ||||
|   function getItemValues($item): ?array { | ||||
| @ -337,7 +341,7 @@ class CapacitorChannel implements ITransactor { | ||||
|    * Retourner [false] pour annuler le chargement (la ligne n'est pas créée) | ||||
|    * | ||||
|    * Si $item est modifié dans cette méthode, il est possible de le retourner | ||||
|    * avec la clé "item" pour mettre à jour la ligne correspondante. | ||||
|    * avec la clé "item" pour mettre à jour la colonne correspondante. | ||||
|    * | ||||
|    * la création ou la mise à jour est uniquement décidée en fonction des | ||||
|    * valeurs calculées par {@link self::getItemValues()}. Bien que cette méthode | ||||
|  | ||||
| @ -1,6 +1,7 @@ | ||||
| <?php | ||||
| namespace nulib\db; | ||||
| 
 | ||||
| use nulib\A; | ||||
| use nulib\cl; | ||||
| use nulib\db\_private\_migration; | ||||
| use nulib\php\func; | ||||
| @ -364,6 +365,9 @@ abstract class CapacitorStorage { | ||||
|     $values = func::call([$channel, "getItemValues"], $item, ...$args); | ||||
|     if ($values === [false]) return 0; | ||||
| 
 | ||||
|     $newItem = A::pop($values, "item"); | ||||
|     if ($newItem !== null) $item = $newItem; | ||||
| 
 | ||||
|     $row = cl::merge( | ||||
|       $channel->getSum("item", $item), | ||||
|       $this->serialize($channel, $values)); | ||||
|  | ||||
| @ -6,7 +6,6 @@ class _update extends _common { | ||||
|     "prefix" => "?string", | ||||
|     "table" => "?string", | ||||
|     "schema" => "?array", | ||||
|     "cols" => "?array", | ||||
|     "values" => "?array", | ||||
|     "where" => "?array", | ||||
|     "suffix" => "?string", | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user