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_tablecatalog_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 cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.