0

私はCodeIgniter内のActiveRecordを使用してMySQLデータベースと対話しています。

productテーブルとproduct_photoテーブルがあり、製品に関連付けられた写真と、各product_photoのsort_orderが格納されています。

最初の商品写真(最も低いsort_order)を選択しようとしていますが、機能しないようです。

私はそれをproduct_photoを選択し、それに製品を結合することに要約しました(最初は反対を試しました)が、私は常に最初のテスト製品の最初のproduct_photoと2番目のテスト製品の2番目のproduct_photoになります。

さらに単純化するために、product_photoレコードだけを選択し、product_idとsort_orderで並べ替えてから、それを吐き出してみましたが、結果が一致しませんでした。

これが私のActiveRecordクエリです:

$this->db->select('product_id, url, sort_order')
         ->from('product_photo')
         ->order_by('product_id, sort_order')
         ->group_by('product_id');

これにはもっと良いアプローチがあると確信していますが、まだ見つけていません。洞察を事前に感謝します。

4

1 に答える 1

0

使えませんDISTINCT 1か?また、製品テーブルから選択する必要があり、左結合を使用して対応する写真を選択します。

于 2012-06-17T14:29:45.463 に答える