Generate order number before save order

Help for integrating the Laravel package
Forum rules
Always add your Laravel, Aimeos and PHP version as well as your environment (Linux/Mac/Win)
Spam and unrelated posts will be removed immediately!
krzysiekp
Posts: 97
Joined: 05 Nov 2021, 16:19

Generate order number before save order

Post by krzysiekp » 27 Jan 2025, 21:26

I have additional column in mshop_order => order_no
How can I generate unique an order number just before it is saved to the database?

User avatar
aimeos
Administrator
Posts: 8616
Joined: 01 Jan 1970, 00:00

Re: Generate order number before save order

Post by aimeos » 28 Jan 2025, 09:54

There's already a column named invoiceno which you can use. If you just want the order ID to be displayed differently, you can also add a macro to the boot() method in your ./app/Providers/AppServiceProvider.php file.

Invoice number:

Code: Select all

\Aimeos\MShop\Order\Item\Standard::macro('invoicenumber', function($order) {
   return 'INV-' . $this->get( 'order.invoiceno', '' );
});
Order number:

Code: Select all

\Aimeos\MShop\Order\Item\Standard::macro('ordernumber', function($order) {
   return 'No-' . $this->getId();
});
If you really need an extra column with a totally different number, than you have to overwrite the saveBase() method of the order manager: https://github.com/aimeos/aimeos-core/b ... #L604-L623
Professional support and custom implementation are available at Aimeos.com
If you like Aimeos, Image give us a star

krzysiekp
Posts: 97
Joined: 05 Nov 2021, 16:19

Re: Generate order number before save order

Post by krzysiekp » 28 Jan 2025, 21:59

Thanks for reply

Post Reply