聯(lián)系官方銷售客服
1835022288
028-61286886
我現(xiàn)在需要在控制器里面統(tǒng)計(jì)字段‘length’的總和,請問系統(tǒng)是否有現(xiàn)成函數(shù)調(diào)用呢,需要配合where或者可以附加限制條件的方法。
我寫了一個可以實(shí)現(xiàn),但是不知道取出所有數(shù)據(jù)然后PHP進(jìn)行求和是不是合理和效率最優(yōu)化。求指點(diǎn)。代碼如下:
public function set_length() { $id = \Phpcmf\Service::L('Input')->get('id',); $rows = \Phpcmf\Service::M()->table(dr_module_table_prefix(APP_DIR).'_form_son')->select('length')->where('status','1' and 'cid',$id)->getAll(); \Phpcmf\Service::M()->table(dr_module_table_prefix(APP_DIR))->update($id, [ 'length' => array_sum(array_column($rows,'length')) ]); $this->_json(1, dr_lang('更新完成,即將刷新頁面')); }
還有一個,我前端調(diào)用了js的dr_ajax_confirm_url()方法。我想執(zhí)行完刷新當(dāng)前頁面應(yīng)該如何操作呢,我現(xiàn)在是寫:
'url' => "javascript:dr_ajax_confirm_url('" . SELF . "?s=demo&c=home&m=set_length&id={cid}','確定要執(zhí)行嗎?', '" . SELF . "?s=demo&c=home&m=index')"
跳轉(zhuǎn)頁面是這個列表的首頁,而不是當(dāng)前頁面,應(yīng)該是第三個參數(shù)寫當(dāng)前頁。。我不知道插件的Clink.php應(yīng)該如何表達(dá)刷新當(dāng)前頁。
以上2點(diǎn)求答,感謝
回復(fù)@官方研發(fā)技術(shù)-胡老師
我也試過了,不知道這樣寫是不是不對。返回的lengths=NULL
SELECT SUM(length) AS lengths FROM dr_1_demo_form_son
看著沒問題,很標(biāo)準(zhǔn),去phpmyadmin里面運(yùn)行下看看結(jié)果
回復(fù)@阿Rain
PhpMyAdmin里面正常的,能獲取到數(shù)據(jù),所以套用數(shù)據(jù)庫的query不知道為啥是null
總算解決了運(yùn)行SQL問題
跳轉(zhuǎn)問題后面再研究吧。