クエリに関連する結果は、多くの重複排除処理をlaravelます

テーブルの構造を説明するために、

  • メインテーブル(Ordersテーブル)注文データ
ord_id order_sn
1 EX2019100123458

前記ORDER_ID主キー(注文ID)

  • 子テーブル(表チケット)ORDER_ITEMデータ
ord_ite_id ord_id exhibit_sn タイプ
1 1 EXSN20191001001 1
2 1 EXSN20191001002 1
3 1 EXSN20191001003 1

ord_idを関連付けることにより、メインテーブルと子テーブル間の

実装:タイプ(チケットの種類)によって、主テーブルの子テーブルのクエリの順序番号で

  最初の試み:

選択 DISTINCT ` の順序を .ord_id` から `  ` INNER  JOIN ORDER_ITEM   .ord_id = order_item.ord_id ここでタイプ=  1

この方法を実現していますが、ページにしたい場合は、そのように必要にlaravelを使用することができます

DB :: テーブル(DB :: ( "SQL语句"))- >のpaginate(15)。

しかし、その後、私たちのネイティブSQLステートメントを使用するのと同等ですが、条件を追加する場合、それは唯一のスプライシングSQL文を行くことができます

  第二の試み:

選択 ` の順序を ` `.ord_id ため ` .order_sn から ` 順序 ` インナー JOIN選択 別個 ord_idをより ORDER_ITEM)R 上の ` の順序 ` .ord_id = r.ord_id

laraveでの使用に

注文 :: 参加(DB :: ( "(選択 の異なる order_item.ord_idを、タイプitem_ord_id から ORDER_ITEM)"を.env( "DB_PREFIX") "BB")、 "bb.item_order_id"、 "exhibit_order.order_idを"。) - >のpaginate(15)。

我々は条件を追加する()メソッドを使用し続けることができるように、

おすすめ

転載: www.cnblogs.com/itsuibi/p/11617512.html