Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Pole matematyczno-obliczeniowe CakePHP?

Dwa pomysły:

Pobieraj zsumowane pole dynamicznie za każdym razem, gdy jest potrzebne, używając zachowania z zawartością , jak (z czubka głowy):

$this->Tree->find('all', array(
    ...
    'contain' => array(
        'Leaf' => array(
            'fields' => array('SUM(Leaf.value)'),
            'group'  => array('Leaf.tree_id')
        )
    )
);

Lub utwórz nową kolumnę w modelu drzewa, taką jak leaf_values i aktualizuj go za każdym razem, gdy coś zmienisz w modelu Leaf:

// Leaf model
function afterSave() {
    $sum = /* calculate sum */;
    $this->Tree->updateAll(
        array('Tree.leaf_values' => $sum),
        array('Tree.id' => $this->data['Leaf']['tree_id'])
    );
}

function afterDelete() {
    // same for afterDelete
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Laravel 5 wymowny, gdzie In

  2. JSON Wstaw do tabeli MySQL lub zaktualizuj, jeśli istnieje

  3. Porządkowanie wyników MySQL według sekwencji IN?

  4. PHP.net mówi, że md5() i sha1() nie nadają się do hasła?

  5. MariaDb nie obsługuje funkcji ANY_VALUE()