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
|
* 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.
|
* 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
|
* Retourner [false] pour annuler le chargement
|
||||||
*/
|
*/
|
||||||
function getItemValues($item): ?array {
|
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)
|
* 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
|
* 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
|
* 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
|
* valeurs calculées par {@link self::getItemValues()}. Bien que cette méthode
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
namespace nulib\db;
|
namespace nulib\db;
|
||||||
|
|
||||||
|
use nulib\A;
|
||||||
use nulib\cl;
|
use nulib\cl;
|
||||||
use nulib\db\_private\_migration;
|
use nulib\db\_private\_migration;
|
||||||
use nulib\php\func;
|
use nulib\php\func;
|
||||||
@ -364,6 +365,9 @@ abstract class CapacitorStorage {
|
|||||||
$values = func::call([$channel, "getItemValues"], $item, ...$args);
|
$values = func::call([$channel, "getItemValues"], $item, ...$args);
|
||||||
if ($values === [false]) return 0;
|
if ($values === [false]) return 0;
|
||||||
|
|
||||||
|
$newItem = A::pop($values, "item");
|
||||||
|
if ($newItem !== null) $item = $newItem;
|
||||||
|
|
||||||
$row = cl::merge(
|
$row = cl::merge(
|
||||||
$channel->getSum("item", $item),
|
$channel->getSum("item", $item),
|
||||||
$this->serialize($channel, $values));
|
$this->serialize($channel, $values));
|
||||||
|
@ -6,7 +6,6 @@ class _update extends _common {
|
|||||||
"prefix" => "?string",
|
"prefix" => "?string",
|
||||||
"table" => "?string",
|
"table" => "?string",
|
||||||
"schema" => "?array",
|
"schema" => "?array",
|
||||||
"cols" => "?array",
|
|
||||||
"values" => "?array",
|
"values" => "?array",
|
||||||
"where" => "?array",
|
"where" => "?array",
|
||||||
"suffix" => "?string",
|
"suffix" => "?string",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user