Tham gia hai bảng trong Magento 2


7

Tôi đang cố gắng tham gia hai bảng nhưng kết quả trả về sai, bạn có thể vui lòng gợi ý cho tôi cách viết không.

Dữ liệu : Từ bảng tùy chỉnh của tôi ( product_id,email,id) có Product_id.

Kết quả mong đợi : tham gia hai bảng ( custom_tablevà catalog_product_entity) để hiển thịProduct Name, Sku and Email_id

Bạn có thể vui lòng cho tôi biết làm thế nào để viết nó?

Câu trả lời:


11

Điều này làm việc cho tôi. Thay đổi duy nhất giữa Magento 1 và Magento 2 là cách lấy tên bảng:

$collection->getSelect()->joinLeft(
   ['admin'=>$collection->getTable('admin_user')],
   'main_table.admin_user_id = admin.user_id',
   ['admin_username'=>'admin.username']);

0

Tôi sẽ làm một cái gì đó như thế này:

    $connection = $this->_objectManager->create('\Magento\Framework\App\ResourceConnection');
    $conn = $connection->getConnection();
    $select = $conn->select()
        ->from(
            ['main_table' => 'catalog_product_entity'],
            [
                'main_table.sku',
                'custom_table.email_id'
            ]
        )
        ->join(
            ['custom_table' => 'custom_table'],
            'main_table.entity_id = custom_table.product_id'
        );

    $data = $conn->fetchAll($select);
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookie và Chính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.