sql >> Databasteknik >  >> RDS >> Mysql

CakePHP matematisk beräkningsfält?

Två idéer:

Hämta det summerade fältet dynamiskt varje gång du behöver det med Containable beteende , som (av mitt huvud):

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

Eller skapa en ny kolumn i trädmodellen som leaf_values och uppdatera den varje gång du ändrar något i Leaf-modellen:

// 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. Varningar och meddelanden från SkySQL

  2. Python/MySQL - LADDA LOKAL INFIL FÖR DATA

  3. Kolumnen "user_id" i fältlistan är tvetydig

  4. Vad är SQL Server Blocking?