1

試したコード:

    $this->db->select('*');
    $this->db->from('documents_table');
    $this->db->order_by("last_modified_date", "desc");
    $this->db->group_by('document_id');

    $query = $this->db->get();

テーブル構造:

id 、 document_id 、 content 、 last_modified_date

問題:

システムの設計上、ドキュメントが更新されると、同じ document_id と更新されたコンテンツで実際の新しいレコードが作成されます。

ここで、ドキュメントをリストに表示する必要がありますが、同じ document_id (基本的にファイルの古いバージョン) を持つドキュメントが複数ある場合は、最新バージョンのみを表示する必要があります。現在のコードは最初のバージョンのみを出力するため、これを切り替える必要があります。

group_by はこれに適した方法ですか? ある程度の経験がある人なら誰でも、意図したとおりに機能しない理由を理解できますか、それとも単に間違っているのでしょうか?

4

2 に答える 2