I created an custom attribute for orders:
UpgradeSchema.php
<?php
use Magento\Framework\Setup\UpgradeSchemaInterface;
use Magento\Framework\Setup\SchemaSetupInterface;
use Magento\Framework\Setup\ModuleContextInterface;
class UpgradeSchema implements UpgradeSchemaInterface
{
/**
* Upgrades DB schema for a module
*
* @param SchemaSetupInterface $setup
* @param ModuleContextInterface $context
* @return void
*/
public function upgrade(SchemaSetupInterface $setup, ModuleContextInterface $context)
{
$setup->startSetup();
$quote = 'quote';
$orderTable = 'sales_order';
$setup->getConnection()
->addColumn(
$setup->getTable($quote),
'mediabasebestellnummer',
[
'type' => \Magento\Framework\DB\Ddl\Table::TYPE_TEXT,
'length' => 255,
'comment' =>'MediabaseNummer'
]
);
//Order table
$setup->getConnection()
->addColumn(
$setup->getTable($orderTable),
'mediabasebestellnummer',
[
'type' => \Magento\Framework\DB\Ddl\Table::TYPE_TEXT,
'length' => 255,
'comment' =>'MediabaseNummer'
]
);
$setup->endSetup();
}
}
Right now my question is how get the custom attribute when I have an order.
This is NOT working:
$custom = $order->getCustomAttribute('mediabasebestellnummer');
Thanks for any help!
Best Answer
check if the column is created in
sales_order
tableNow getting the values
Or
For adding the data
or
or