Magento 2の2つのテーブルを結合する


7

2つのテーブルを結合しようとしていますが、間違った結果が返されます。書き込み方法を教えてください。

データカスタムテーブルproduct_id,email,id)からProduct_id

期待される結果:2つのテーブル(custom_tableおよびcatalog_product_entity)を結合して、Product Name, Sku and Email_id

書き方を教えて頂けますか?

回答:


11

これでうまくいきます。Magento 1とMagento 2の唯一の違いは、テーブル名の取得方法です。

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

0

私はこのようなことをします:

    $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);
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.