sql >> データベース >  >> RDS >> Mysql

CakePHPの数学計算フィールド?

    2つのアイデア:

    封じ込め可能な動作 を使用して、必要になるたびに合計フィールドを動的に取得します。 、のように(頭のてっぺんから):

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

    または、leaf_valuesのようなツリーモデルに新しい列を作成します リーフモデルで何かを変更するたびに更新します:

    // 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. 私のmysqlステートメントを最適化する! --RAND()が遅すぎる

    2. Android Studio 3.0カナリア1:SQL構文エラー

    3. 最新のMicrosoftAccessニュースについては、4月9日火曜日に参加してください

    4. AndroidSQLiteの更新行が機能しない