Cara menggunakan grup dengan di dalam koleksi magento dengan permintaan bergabung

13

Dalam kisi admin modul saya menggunakan kode ini untuk mendapatkan koleksi dan mengelompokkannya berdasarkan id pelanggan

$collection = Mage::getModel('referafriend/statistics')->getCollection();
$collection->getSelect()->group('entity_id');
$this->setCollection($collection);

tetapi di sini saya harus menggunakan fungsi renderer dan filter untuk info pelanggan seperti nama dan email masing-masing entity_id. saya ingin bergabung dengan model pelanggan dengan tabel modul saya. untuk ini saya telah menulis kode ini

 $collection = Mage::getModel('customer/customer')->getCollection()
 ->addNameToSelect();
$collection->getSelect()->join(array('refer' => 'table_name'),'refer.entity_id = e.entity_id'
          ); 
   $collection->getSelect()->group('entity_id'); 
   $collection->addAttributeToSelect('*');

tapi itu memberi saya kesalahan ini

SQLSTATE[23000]: Integrity constraint violation: 1052 Column 'entity_id' in group statement is ambiguous

bantuan apa pun akan sangat dihargai.

Haris
sumber
1
seharusnya -> group ('e.entity_id');
Amit Bera
Anda harus menambahkan ini sebagai jawaban dengan beberapa perincian tentang mengapa Anda membutuhkane.
Jonathan Hussey
Maaf atas kesalahan konyol ini. @AmitBera terima kasih atas bantuan Anda dan silakan tambahkan ini sebagai jawaban agar pertanyaan itu dapat ditutup.
Haris

Jawaban:

26

Anda perlu menambahkan nama tabel di group by condition. Seperti yang Anda lakukan not added on conditions table namedi grup tabel ('entitas_id') begituquery did not find columns name

 getSelect()->group('e.entity_id');

Logika adalah:

$collection->getSelect()->group('TABLE_NAME.FIELD_NAME')
Amit Bera
sumber
1
Selain itu, jika Anda perlu mengelompokkan beberapa bidang, tambahkan saja -> grup () klausa -> grup ('field1') -> grup ('field2');
GregC
Saya ingin memesan produk unik menggunakan grup oleh. Saya memiliki 2 pesanan dengan 2 item pesanan yang sama. Saat ini, ditampilkan 4 baris di grid. Tapi saya perlu 2 baris menggunakan grup.
Dhaduk Mitesh
Bagikan kode Anda
Amit Bera
$collection = $object_manager->create('\Magento\Sales\Model\Order\Item')->getCollection(); $collection->getSelect()->join( ['order' => $this->getTable('sales_order')], 'order.entity_id = main_table.order_id and (if(main_table.parent_item_id IS NULL,main_table.price != 0.0000,main_table.parent_item_id IS NULL))', [ 'order_number' => 'order.increment_id', 'order_store_id' => 'order.store_id', ] );
Dhaduk Mitesh
Saya ingin mengelompokkan berdasarkan parent_item_idpesanan.
Dhaduk Mitesh