搜尋

首頁  >  問答  >  主體

thinkphp5 關聯模型的聚合查詢怎麼操作,求實例。

有兩個表格:bill(票據)和detail(票據明細)

bill欄位:billid(票據ID),billdate(開立發票日期),total(合計金額)...

detail欄位:detailid(明細ID), billid(票據ID), amount(金額), incometype(收入類別)...

建立兩個模型:

class Bill extends Model {

    //連結至票據明細表

    public function detail(){

#       billid');

    }

}

class Detail extends Model{

    //關聯到票據表

    public function bill(){

        return $this->belongsTo('Bill', 'billid');
 

#}


問:若要使用模型對象,依票據明細表中的收入類別進行統計收入金額,該怎麼寫?

phpcn_u16587phpcn_u165872652 天前1461

全部回覆(1)我來回復

  • 天蓬老师

    天蓬老师2017-08-21 08:26:43

    顯然,你將票據明細表當作了當前模型,票據表當做了關聯模型。

    關聯範本預設為內聯查詢。建議分為二步:

    第一:根據票據ID,先進行關聯查詢獲取到全部關聯數據;

    第二:將獲取到的數據,按收入類別進行分組,然後再進行統計操作,注意用別名進行區分。

    建議用閉包查詢來簡化操作。

    如果不理解,可以再把官方手冊有關於模型關聯查詢部分再仔細看看,或者看一下框架源碼相關部分:

    https://www.kancloud.cn/manual/thinkphp5/142358

    回覆
    0
  • 取消回覆