テーブルの構造を説明するために、
- メインテーブル(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)。
我々は条件を追加する()メソッドを使用し続けることができるように、