有兩個表格: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');
問:若要使用模型對象,依票據明細表中的收入類別進行統計收入金額,該怎麼寫?
顯然,你將票據明細表當作了當前模型,票據表當做了關聯模型。
關聯範本預設為內聯查詢。建議分為二步:
第一:根據票據ID,先進行關聯查詢獲取到全部關聯數據;
第二:將獲取到的數據,按收入類別進行分組,然後再進行統計操作,注意用別名進行區分。
建議用閉包查詢來簡化操作。
如果不理解,可以再把官方手冊有關於模型關聯查詢部分再仔細看看,或者看一下框架源碼相關部分:
https://www.kancloud.cn/manual/thinkphp5/142358