modifs.mineures sans commentaires
This commit is contained in:
		
							parent
							
								
									976e3674b4
								
							
						
					
					
						commit
						55501af6ff
					
				@ -165,6 +165,9 @@ class CapacitorChannel {
 | 
			
		||||
   * Cette méthode est utilisée par {@link Capacitor::charge()}. Si la clé
 | 
			
		||||
   * primaire est incluse (il s'agit généralement de "id_"), la ligne
 | 
			
		||||
   * correspondate est mise à jour si elle existe.
 | 
			
		||||
   *
 | 
			
		||||
   * 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.
 | 
			
		||||
   */
 | 
			
		||||
  function getItemValues($item): ?array {
 | 
			
		||||
    return null;
 | 
			
		||||
@ -247,6 +250,11 @@ class CapacitorChannel {
 | 
			
		||||
   *
 | 
			
		||||
   * Si $item est modifié dans cette méthode, il est possible de le retourner
 | 
			
		||||
   * avec la clé "item" pour mettre à jour la ligne 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
 | 
			
		||||
   * peut techniquement retourner de nouvelles valeurs pour la clé primaire, ça
 | 
			
		||||
   * risque de créer des doublons
 | 
			
		||||
   */
 | 
			
		||||
  function onCreate($item, array $rowValues, ?array $alwaysNull): ?array {
 | 
			
		||||
    return null;
 | 
			
		||||
 | 
			
		||||
@ -194,16 +194,26 @@ EOT;
 | 
			
		||||
   * modifier les valeurs insérées/mises à jour. De plus, $values obtient la
 | 
			
		||||
   * valeur finale des données insérées/mises à jour
 | 
			
		||||
   *
 | 
			
		||||
   * Si $args est renseigné, il est ajouté aux arguments utilisés pour appeler
 | 
			
		||||
   * les méthodes {@link CapacitorChannel::getItemValues()},
 | 
			
		||||
   * {@link CapacitorChannel::onCreate()} et/ou
 | 
			
		||||
   * {@link CapacitorChannel::onUpdate()}
 | 
			
		||||
   *
 | 
			
		||||
   * @return int 1 si l'objet a été chargé ou mis à jour, 0 s'il existait
 | 
			
		||||
   * déjà à l'identique dans le canal
 | 
			
		||||
   */
 | 
			
		||||
  function _charge(CapacitorChannel $channel, $item, $func, ?array $args, ?array &$values=null): int {
 | 
			
		||||
    $this->_create($channel);
 | 
			
		||||
    $tableName = $channel->getTableName();
 | 
			
		||||
    $now = date("Y-m-d H:i:s");
 | 
			
		||||
 | 
			
		||||
    $initFunc = [$channel, "getItemValues"];
 | 
			
		||||
    $initArgs = $args;
 | 
			
		||||
    func::ensure_func($initFunc, null, $initArgs);
 | 
			
		||||
    $itemValues = func::call($initFunc, $item, ...$initArgs);
 | 
			
		||||
 | 
			
		||||
    $row = cl::merge(
 | 
			
		||||
      $channel->getSum("item", $item),
 | 
			
		||||
      $this->serialize($channel, $channel->getItemValues($item)));
 | 
			
		||||
      $this->serialize($channel, $itemValues));
 | 
			
		||||
    $prow = null;
 | 
			
		||||
    $rowIds = $this->getRowIds($channel, $row, $primaryKeys);
 | 
			
		||||
    if ($rowIds !== null) {
 | 
			
		||||
@ -215,6 +225,7 @@ EOT;
 | 
			
		||||
      ]);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    $now = date("Y-m-d H:i:s");
 | 
			
		||||
    $insert = null;
 | 
			
		||||
    if ($prow === null) {
 | 
			
		||||
      # création
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user