{"id":395323,"date":"2023-08-22T04:28:52","date_gmt":"2023-08-22T04:28:52","guid":{"rendered":"https:\/\/webkul.com\/blog\/?p=395323"},"modified":"2025-11-17T13:20:41","modified_gmt":"2025-11-17T13:20:41","slug":"how-to-join-extension-attribute-in-magento-2","status":"publish","type":"post","link":"https:\/\/webkul.com\/blog\/how-to-join-extension-attribute-in-magento-2\/","title":{"rendered":"How to join extension attribute in Magento 2"},"content":{"rendered":"\n<p>In this article, We will learn about extension attribute join in Magento 2.<\/p>\n\n\n\n<p>In Magento, an extension attribute is a customization mechanism that allows developers to add extra fields or properties to the existing data structures of entities like <em>products<\/em>, <em>customers<\/em>, or <em>orders<\/em>. These attributes extend the core functionality without modifying the core code.<\/p>\n\n\n\n<p>Extension attributes are particularly useful when you want to associate additional information with these entities without altering the database schema. <\/p>\n\n\n\n<p>They enable smoother upgrades and compatibility with other extensions. Developers define extension attributes in the XML configuration, providing a flexible way to enhance data models without compromising the integrity of the core system.<\/p>\n\n\n\n<p>Extension attribute joins in <a href=\"https:\/\/webkul.com\/hire-magento-developers\/\">Magento developers<\/a> allow to efficiently retrieve additional data from related tables when querying entities like <em>products<\/em> or <em>orders<\/em>. <\/p>\n\n\n\n<p>This enhances data retrieval and customization capabilities without modifying the core database structure.<\/p>\n\n\n\n<p>Also you have check our <a href=\"https:\/\/store.webkul.com\/magento2-order-attributes.html\" target=\"_blank\" rel=\"noreferrer noopener\">Magento 2 Order attributes<\/a>\u00a0extension.<\/p>\n\n\n\n<p><strong>To join extension attributes in Magento 2, follow these steps:<\/strong><\/p>\n\n\n\n<p><strong>Step 1:- Define Extension Attribute<\/strong><\/p>\n\n\n\n<p>Create your extension attribute using XML in your module&#8217;s  <code><strong>etc\/extension_attributes.xml<\/strong><\/code> file. Specify the entity you want to extend <strong>(e.g., product, order)<\/strong> and define the attribute structure.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\">&lt;?xml version=&quot;1.0&quot;?&gt;\n&lt;!--\n\/**\n * Webkul Software.\n *\n * @category  Webkul\n * @package   Webkul_ExtentionAttribute\n * @author    Webkul Software Private Limited\n * @copyright Webkul Software Private Limited (https:\/\/webkul.com)\n * @license   https:\/\/store.webkul.com\/license.html\n *\/\n--&gt;\n&lt;config xmlns:xsi=&quot;http:\/\/www.w3.org\/2001\/XMLSchema-instance&quot; xsi:noNamespaceSchemaLocation=&quot;urn:magento:framework:Api\/etc\/extension_attributes.xsd&quot;&gt;\n    &lt;extension_attributes for=&quot;Magento\\Sales\\Api\\Data\\OrderInterface&quot;&gt;\n        &lt;attribute code=&quot;custom_col1&quot; type=&quot;string&quot;&gt;\n            &lt;join reference_table=&quot;custom_table&quot; join_on_field=&quot;entity_id&quot; reference_field=&quot;order_id&quot;&gt;\n                &lt;field column=&quot;custom_col1&quot;&gt;custom_col1&lt;\/field&gt;\n            &lt;\/join&gt;\n        &lt;\/attribute&gt;\n        &lt;attribute code=&quot;custom_col2&quot; type=&quot;string&quot;&gt;\n            &lt;join reference_table=&quot;custom_table&quot; join_on_field=&quot;entity_id&quot; reference_field=&quot;order_id&quot;&gt;\n                &lt;field column=&quot;custom_col2&quot;&gt;custom_col1&lt;\/field&gt;\n            &lt;\/join&gt;\n        &lt;\/attribute&gt;\n    &lt;\/extension_attributes&gt;\n&lt;\/config&gt;<\/pre>\n\n\n\n<p><strong>Step 2:- Create&nbsp;db_schema.xml&nbsp;at app\/code\/Webkul\/ExtentionAttribute\/etc<\/strong><\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\">&lt;?xml version=&quot;1.0&quot;?&gt;\n&lt;!--\n\/**\n * Webkul Software.\n *\n * @category  Webkul\n * @package   Webkul_ExtentionAttribute\n * @author    Webkul Software Private Limited\n * @copyright Webkul Software Private Limited (https:\/\/webkul.com)\n * @license   https:\/\/store.webkul.com\/license.html\n *\/\n--&gt;\n&lt;schema xmlns:xsi=&quot;http:\/\/www.w3.org\/2001\/XMLSchema-instance&quot;       xsi:noNamespaceSchemaLocation=&quot;urn:magento:framework:Setup\/Declaration\/Schema\/etc\/schema.xsd&quot;&gt;\n    &lt;table name=&quot;custom_table&quot; engine=&quot;innodb&quot;&gt;\n        &lt;column xsi:type=&quot;int&quot; name=&quot;order_id&quot;  padding=&quot;10&quot; unsigned=&quot;true&quot; nullable=&quot;false&quot;\/&gt;\n        &lt;column xsi:type=&quot;varchar&quot; name=&quot;custom_col1&quot; nullable=&quot;false&quot; default=&quot;First&quot;\/&gt;\n        &lt;column xsi:type=&quot;varchar&quot; name=&quot;custom_col2&quot; nullable=&quot;false&quot; default=&quot;Second&quot;\/&gt;\n        &lt;constraint xsi:type=&quot;primary&quot; referenceId=&quot;PRIMARY&quot;&gt;\n            &lt;column name=&quot;order_id&quot;\/&gt;\n        &lt;\/constraint&gt;\n        &lt;constraint xsi:type=&quot;foreign&quot; referenceId=&quot;CUSTOM_TABLE_ORDER_ID_SALES_ORDER_ENTITY_ID&quot;\n                table=&quot;custom_table&quot; column=&quot;order_id&quot; referenceTable=&quot;sales_order&quot;\n                referenceColumn=&quot;entity_id&quot; onDelete=&quot;CASCADE&quot;\/&gt;\n    &lt;\/table&gt;\n&lt;\/schema&gt;<\/pre>\n\n\n\n<p><strong>Step 3:- Create&nbsp;webapi.xml&nbsp;at app\/code\/Webkul\/ExtentionAttribute\/etc<\/strong><\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\">&lt;?xml version=&quot;1.0&quot; ?&gt;\n&lt;!--\n\/**\n * Webkul Software.\n *\n * @category  Webkul\n * @package   Webkul_ExtentionAttribute\n * @author    Webkul Software Private Limited\n * @copyright Webkul Software Private Limited (https:\/\/webkul.com)\n * @license   https:\/\/store.webkul.com\/license.html\n *\/\n--&gt;\n&lt;routes xmlns:xsi=&quot;http:\/\/www.w3.org\/2001\/XMLSchema-instance&quot; xsi:noNamespaceSchemaLocation=&quot;urn:magento:module:Magento_Webapi:etc\/webapi.xsd&quot;&gt;\n\t&lt;route method=&quot;GET&quot; url=&quot;\/V1\/getOrderList&quot;&gt;\n\t\t&lt;service class=&quot;Webkul\\ExtentionAttribute\\Api\\OrderManagementInterface&quot; method=&quot;getList&quot;\/&gt;\n\t\t&lt;resources&gt;\n\t\t\t&lt;resource ref=&quot;anonymous&quot;\/&gt;\n\t\t&lt;\/resources&gt;\n\t&lt;\/route&gt;\n&lt;\/routes&gt;<\/pre>\n\n\n\n<p><strong>Step 4:- Create&nbsp;&nbsp;di.xml&nbsp;at app\/code\/Webkul\/ExtentionAttribute\/etc<\/strong><\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\">&lt;?xml version=&quot;1.0&quot; ?&gt;\n&lt;!--\n\/**\n * Webkul Software.\n *\n * @category  Webkul\n * @package   Webkul_ExtentionAttribute\n * @author    Webkul Software Private Limited\n * @copyright Webkul Software Private Limited (https:\/\/webkul.com)\n * @license   https:\/\/store.webkul.com\/license.html\n *\/\n--&gt;\n&lt;config xmlns:xsi=&quot;http:\/\/www.w3.org\/2001\/XMLSchema-instance&quot; xsi:noNamespaceSchemaLocation=&quot;urn:magento:framework:ObjectManager\/etc\/config.xsd&quot;&gt;\n &lt;preference for=&quot;Webkul\\ExtentionAttribute\\Api\\OrderManagementInterface&quot; type=&quot;Webkul\\ExtentionAttribute\\Model\\OrderManagement&quot;\/&gt;\n&lt;\/config&gt;<\/pre>\n\n\n\n<p><strong>Step 5:- Create&nbsp;&nbsp;OrderManagementInterface.php&nbsp;at app\/code\/Webkul\/ExtentionAttribute\/Api<\/strong><\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\">&lt;?php\n\/**\n * Webkul Software.\n *\n * @category  Webkul\n * @package   Webkul_ExtentionAttribute\n * @author    Webkul Software Private Limited\n * @copyright Webkul Software Private Limited (https:\/\/webkul.com)\n * @license   https:\/\/store.webkul.com\/license.html\n *\/\n\nnamespace Webkul\\ExtentionAttribute\\Api;\n \ninterface OrderManagementInterface {\n\n \/**\n  * Get order List\n  * \n  * @return array\n  *\/\n public function getList();\n}<\/pre>\n\n\n\n<p><strong>Step 6:-Create&nbsp;OrderManagement.php&nbsp;at app\/code\/Webkul\/ExtentionAttribute\/Model<\/strong><\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\">&lt;?php\n\/**\n * Webkul Software.\n *\n * @category  Webkul\n * @package   Webkul_ExtentionAttribute\n * @author    Webkul Software Private Limited\n * @copyright Webkul Software Private Limited (https:\/\/webkul.com)\n * @license   https:\/\/store.webkul.com\/license.html\n *\/\n\nnamespace Webkul\\ExtentionAttribute\\Model;\n \nclass OrderManagement {\n \n \/**\n  * Construct function\n  *\n  * @param \\Magento\\Sales\\Api\\OrderRepositoryInterface $repository\n  * @param \\Magento\\Framework\\Api\\SearchCriteriaInterface $searchCriteria\n  * @param \\Magento\\Framework\\Api\\Search\\FilterGroup $filterGroup\n  * @param \\Magento\\Framework\\Api\\Filter $filter\n  *\/\n    public function __construct(\n        \\Magento\\Sales\\Api\\OrderRepositoryInterface $repository,\n        \\Magento\\Framework\\Api\\SearchCriteriaInterface  $searchCriteria,\n        \\Magento\\Framework\\Api\\Search\\FilterGroup $filterGroup,\n \\Magento\\Framework\\Api\\Filter $filter\n    ) {\n        $this-&gt;repository = $repository;\n        $this-&gt;searchCriteria = $searchCriteria;\n        $this-&gt;filterGroup = $filterGroup;\n $this-&gt;filter = $filter;\n    }\n\n \/**\n  * @inheritdoc\n  *\/\n public function getList()\n {\n $returnArr = &#091;];\n $repository = $this-&gt;repository;\n $searchCriteria = $this-&gt;searchCriteria;\n $filterGroup = $this-&gt;filterGroup;\n $filter = $this-&gt;filter;\n $filter-&gt;setField(&#039;entity_id&#039;);\n $filter-&gt;setValue(&#039;10&#039;);\n $filter-&gt;setConditionType(&#039;eq&#039;); \n $filterGroup-&gt;setFilters(&#091;$filter]);\n $searchCriteria-&gt;setFilterGroups(&#091;$filterGroup]);\n $orderList = $repository-&gt;getList($searchCriteria);\n foreach ($orderList-&gt;getItems() as $order) {\n           $extensionAttribute = $order-&gt;getExtensionAttributes();\n    $returnArr = &#091;\n     $extensionAttribute-&gt;getCustomCol1(),\n     $extensionAttribute-&gt;getCustomCol2()\n    ];\n        }\n return $returnArr;\n }\n}<\/pre>\n\n\n\n<p><strong>Step 7:- Load Extension Attribute Data After the join,<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"960\" height=\"569\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/08\/Join.png\" alt=\"Join\" class=\"wp-image-396272\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/08\/Join.png 960w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/08\/Join-300x178.png 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/08\/Join-250x148.png 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/08\/Join-768x455.png 768w\" sizes=\"(max-width: 960px) 100vw, 960px\" loading=\"lazy\" \/><\/figure>\n\n\n\n<p>However, in case of any query or questions regarding the <a href=\"https:\/\/store.webkul.com\/Magento-2.html\">Magento 2 Extensions<\/a>, you can create a ticket at <a href=\"https:\/\/webkul.uvdesk.com\/\">webkul.uvdesk.com<\/a>&nbsp;or contact us at <a href=\"https:\/\/store.webkul.com\/contacts\/\">store.webkul.com\/contacts\/<\/a>&nbsp;to let us know your views to make the plugin better.<\/p>\n\n\n\n<p>Hope this will help you.<\/p>\n\n\n\n<p>Thanks \ud83d\ude42<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this article, We will learn about extension attribute join in Magento 2. In Magento, an extension attribute is a customization mechanism that allows developers to add extra fields or properties to the existing data structures of entities like products, customers, or orders. These attributes extend the core functionality without modifying the core code. Extension <a href=\"https:\/\/webkul.com\/blog\/how-to-join-extension-attribute-in-magento-2\/\">[&#8230;]<\/a><\/p>\n","protected":false},"author":379,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[3484,2070,2253],"class_list":["post-395323","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-extension-attribute-magento2","tag-magento2","tag-rest-api"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How to join extension attribute in Magento 2 - Webkul Blog<\/title>\n<meta name=\"description\" content=\"Extension attribute joins in Magento allow developers to efficiently retrieve additional data\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/webkul.com\/blog\/how-to-join-extension-attribute-in-magento-2\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to join extension attribute in Magento 2 - Webkul Blog\" \/>\n<meta property=\"og:description\" content=\"Extension attribute joins in Magento allow developers to efficiently retrieve additional data\" \/>\n<meta property=\"og:url\" content=\"https:\/\/webkul.com\/blog\/how-to-join-extension-attribute-in-magento-2\/\" \/>\n<meta property=\"og:site_name\" content=\"Webkul Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/webkul\/\" \/>\n<meta property=\"article:published_time\" content=\"2023-08-22T04:28:52+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-11-17T13:20:41+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/webkul.com\/blog\/wp-content\/uploads\/2023\/08\/Join.png\" \/>\n<meta name=\"author\" content=\"Krishna Mohan\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@webkul\" \/>\n<meta name=\"twitter:site\" content=\"@webkul\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Krishna Mohan\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/webkul.com\/blog\/how-to-join-extension-attribute-in-magento-2\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/webkul.com\/blog\/how-to-join-extension-attribute-in-magento-2\/\"},\"author\":{\"name\":\"Krishna Mohan\",\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/person\/32da2f954b256b95b4c44ddeacca51b1\"},\"headline\":\"How to join extension attribute in Magento 2\",\"datePublished\":\"2023-08-22T04:28:52+00:00\",\"dateModified\":\"2025-11-17T13:20:41+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/webkul.com\/blog\/how-to-join-extension-attribute-in-magento-2\/\"},\"wordCount\":321,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/webkul.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/webkul.com\/blog\/how-to-join-extension-attribute-in-magento-2\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/webkul.com\/blog\/wp-content\/uploads\/2023\/08\/Join.png\",\"keywords\":[\"extension attribute magento2\",\"Magento2\",\"REST API\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/webkul.com\/blog\/how-to-join-extension-attribute-in-magento-2\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/webkul.com\/blog\/how-to-join-extension-attribute-in-magento-2\/\",\"url\":\"https:\/\/webkul.com\/blog\/how-to-join-extension-attribute-in-magento-2\/\",\"name\":\"How to join extension attribute in Magento 2 - Webkul Blog\",\"isPartOf\":{\"@id\":\"https:\/\/webkul.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/webkul.com\/blog\/how-to-join-extension-attribute-in-magento-2\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/webkul.com\/blog\/how-to-join-extension-attribute-in-magento-2\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/webkul.com\/blog\/wp-content\/uploads\/2023\/08\/Join.png\",\"datePublished\":\"2023-08-22T04:28:52+00:00\",\"dateModified\":\"2025-11-17T13:20:41+00:00\",\"description\":\"Extension attribute joins in Magento allow developers to efficiently retrieve additional data\",\"breadcrumb\":{\"@id\":\"https:\/\/webkul.com\/blog\/how-to-join-extension-attribute-in-magento-2\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/webkul.com\/blog\/how-to-join-extension-attribute-in-magento-2\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/webkul.com\/blog\/how-to-join-extension-attribute-in-magento-2\/#primaryimage\",\"url\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/08\/Join.png\",\"contentUrl\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/08\/Join.png\",\"width\":960,\"height\":569,\"caption\":\"Join\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/webkul.com\/blog\/how-to-join-extension-attribute-in-magento-2\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/webkul.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to join extension attribute in Magento 2\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/webkul.com\/blog\/#website\",\"url\":\"https:\/\/webkul.com\/blog\/\",\"name\":\"Webkul Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/webkul.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/webkul.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/webkul.com\/blog\/#organization\",\"name\":\"WebKul Software Private Limited\",\"url\":\"https:\/\/webkul.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/webkul-logo-accent-sq.png\",\"contentUrl\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/webkul-logo-accent-sq.png\",\"width\":380,\"height\":380,\"caption\":\"WebKul Software Private Limited\"},\"image\":{\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/webkul\/\",\"https:\/\/x.com\/webkul\",\"https:\/\/www.instagram.com\/webkul\/\",\"https:\/\/www.linkedin.com\/company\/webkul\",\"https:\/\/www.youtube.com\/user\/webkul\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/person\/32da2f954b256b95b4c44ddeacca51b1\",\"name\":\"Krishna Mohan\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/ff4d070d18606ffded6efe51b5703bf4b6a46b26b9e4db5e6ecfdbf023daab4c?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Fmike.png&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/ff4d070d18606ffded6efe51b5703bf4b6a46b26b9e4db5e6ecfdbf023daab4c?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Fmike.png&r=g\",\"caption\":\"Krishna Mohan\"},\"description\":\"Krishna, a Software Engineer, specializes in the Magento platform, delivering high-performance eCommerce solutions. Expertise spans custom development, system optimization, and seamless integration, driving innovation and enhancing business operations.\",\"url\":\"https:\/\/webkul.com\/blog\/author\/krishna-mohan439webkul-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to join extension attribute in Magento 2 - Webkul Blog","description":"Extension attribute joins in Magento allow developers to efficiently retrieve additional data","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/webkul.com\/blog\/how-to-join-extension-attribute-in-magento-2\/","og_locale":"en_US","og_type":"article","og_title":"How to join extension attribute in Magento 2 - Webkul Blog","og_description":"Extension attribute joins in Magento allow developers to efficiently retrieve additional data","og_url":"https:\/\/webkul.com\/blog\/how-to-join-extension-attribute-in-magento-2\/","og_site_name":"Webkul Blog","article_publisher":"https:\/\/www.facebook.com\/webkul\/","article_published_time":"2023-08-22T04:28:52+00:00","article_modified_time":"2025-11-17T13:20:41+00:00","og_image":[{"url":"https:\/\/webkul.com\/blog\/wp-content\/uploads\/2023\/08\/Join.png","type":"","width":"","height":""}],"author":"Krishna Mohan","twitter_card":"summary_large_image","twitter_creator":"@webkul","twitter_site":"@webkul","twitter_misc":{"Written by":"Krishna Mohan","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/webkul.com\/blog\/how-to-join-extension-attribute-in-magento-2\/#article","isPartOf":{"@id":"https:\/\/webkul.com\/blog\/how-to-join-extension-attribute-in-magento-2\/"},"author":{"name":"Krishna Mohan","@id":"https:\/\/webkul.com\/blog\/#\/schema\/person\/32da2f954b256b95b4c44ddeacca51b1"},"headline":"How to join extension attribute in Magento 2","datePublished":"2023-08-22T04:28:52+00:00","dateModified":"2025-11-17T13:20:41+00:00","mainEntityOfPage":{"@id":"https:\/\/webkul.com\/blog\/how-to-join-extension-attribute-in-magento-2\/"},"wordCount":321,"commentCount":0,"publisher":{"@id":"https:\/\/webkul.com\/blog\/#organization"},"image":{"@id":"https:\/\/webkul.com\/blog\/how-to-join-extension-attribute-in-magento-2\/#primaryimage"},"thumbnailUrl":"https:\/\/webkul.com\/blog\/wp-content\/uploads\/2023\/08\/Join.png","keywords":["extension attribute magento2","Magento2","REST API"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/webkul.com\/blog\/how-to-join-extension-attribute-in-magento-2\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/webkul.com\/blog\/how-to-join-extension-attribute-in-magento-2\/","url":"https:\/\/webkul.com\/blog\/how-to-join-extension-attribute-in-magento-2\/","name":"How to join extension attribute in Magento 2 - Webkul Blog","isPartOf":{"@id":"https:\/\/webkul.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/webkul.com\/blog\/how-to-join-extension-attribute-in-magento-2\/#primaryimage"},"image":{"@id":"https:\/\/webkul.com\/blog\/how-to-join-extension-attribute-in-magento-2\/#primaryimage"},"thumbnailUrl":"https:\/\/webkul.com\/blog\/wp-content\/uploads\/2023\/08\/Join.png","datePublished":"2023-08-22T04:28:52+00:00","dateModified":"2025-11-17T13:20:41+00:00","description":"Extension attribute joins in Magento allow developers to efficiently retrieve additional data","breadcrumb":{"@id":"https:\/\/webkul.com\/blog\/how-to-join-extension-attribute-in-magento-2\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/webkul.com\/blog\/how-to-join-extension-attribute-in-magento-2\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/webkul.com\/blog\/how-to-join-extension-attribute-in-magento-2\/#primaryimage","url":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/08\/Join.png","contentUrl":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2023\/08\/Join.png","width":960,"height":569,"caption":"Join"},{"@type":"BreadcrumbList","@id":"https:\/\/webkul.com\/blog\/how-to-join-extension-attribute-in-magento-2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/webkul.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How to join extension attribute in Magento 2"}]},{"@type":"WebSite","@id":"https:\/\/webkul.com\/blog\/#website","url":"https:\/\/webkul.com\/blog\/","name":"Webkul Blog","description":"","publisher":{"@id":"https:\/\/webkul.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/webkul.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/webkul.com\/blog\/#organization","name":"WebKul Software Private Limited","url":"https:\/\/webkul.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/webkul.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/webkul-logo-accent-sq.png","contentUrl":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/webkul-logo-accent-sq.png","width":380,"height":380,"caption":"WebKul Software Private Limited"},"image":{"@id":"https:\/\/webkul.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/webkul\/","https:\/\/x.com\/webkul","https:\/\/www.instagram.com\/webkul\/","https:\/\/www.linkedin.com\/company\/webkul","https:\/\/www.youtube.com\/user\/webkul\/"]},{"@type":"Person","@id":"https:\/\/webkul.com\/blog\/#\/schema\/person\/32da2f954b256b95b4c44ddeacca51b1","name":"Krishna Mohan","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/webkul.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/ff4d070d18606ffded6efe51b5703bf4b6a46b26b9e4db5e6ecfdbf023daab4c?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Fmike.png&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ff4d070d18606ffded6efe51b5703bf4b6a46b26b9e4db5e6ecfdbf023daab4c?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Fmike.png&r=g","caption":"Krishna Mohan"},"description":"Krishna, a Software Engineer, specializes in the Magento platform, delivering high-performance eCommerce solutions. Expertise spans custom development, system optimization, and seamless integration, driving innovation and enhancing business operations.","url":"https:\/\/webkul.com\/blog\/author\/krishna-mohan439webkul-com\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts\/395323","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/users\/379"}],"replies":[{"embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/comments?post=395323"}],"version-history":[{"count":24,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts\/395323\/revisions"}],"predecessor-version":[{"id":513585,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts\/395323\/revisions\/513585"}],"wp:attachment":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/media?parent=395323"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/categories?post=395323"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/tags?post=395323"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}