thinkphp5でアソシエーションモデルの集計クエリを操作する方法、例を挙げてください。
phpcn_u16587
phpcn_u16587 2017-08-20 10:13:32
0
1
1401

bill (請求書) とdetail (請求書詳細) の 2 つのテーブルがあります。

bill フィールド: billid (請求書 ID)、bildate (請求日)、total (合計金額)...

detail フィールド:detailid (詳細 ID)、bilid (請求書 ID)、amount (金額)、incometype (収入カテゴリ)...

2 つのモデルを構築します:

クラス Bill 拡張モデル {

//請求書詳細テーブルに関連付けられます

public functiondetail(){

return $this->hasMany('Detail', ' billid');

}

}

class Detail extends Model{

//請求書テーブルに関連付けられます

パブリック関数 bill(){

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

}

}

Q: モデルオブジェクトを使って請求明細の所得区分に応じた所得金額を計算したい場合、どのように書けばよいでしょうか?

phpcn_u16587
phpcn_u16587

全員に返信 (1)
Peter_Zhu

明らかに、請求書詳細テーブルを現在のモデル、請求書テーブルを関連モデルとみなします。

関連付けられたテンプレートのデフォルトは内部結合クエリです。これを 2 つのステップに分けることをお勧めします:

1 つ目: 請求書 ID に従って、最初に関連するクエリを実行してすべての関連データを取得します。

2 つ目: 取得したデータを収入カテゴリに従ってグループ化し、次に統計演算を実行します。区別するためのエイリアスの使用法に注意してください。

操作を簡素化するためにクロージャクエリを使用することをお勧めします。

理解できない場合は、モデル関連付けクエリに関する公式マニュアルを詳しく見るか、フレームワークのソース コードの関連部分を参照してください:

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

いいねを押す+0
    最新のダウンロード
    詳細>
    ウェブエフェクト
    公式サイト
    サイト素材
    フロントエンドテンプレート
    私たちについて 免責事項 Sitemap
    PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!