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
Advanced
Posts: 101
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: 8686
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
Advanced
Posts: 101
Joined: 05 Nov 2021, 16:19

Re: Generate order number before save order

Post by krzysiekp » 28 Jan 2025, 21:59

Thanks for reply

krzysiekp
Advanced
Posts: 101
Joined: 05 Nov 2021, 16:19

Re: Generate order number before save order

Post by krzysiekp » 05 Dec 2025, 12:06

Is it possible get id from the newly added order before saveBase method has executed ?
I need create order number base on id. Order number is new column in database in mshop_order (order_no) table.
I want to save order with order number in one transaction.

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

Re: Generate order number before save order

Post by aimeos » 06 Dec 2025, 10:37

If you add a customer column "order_no", you can set the value before saving, so it's saved at once but you can't the the mshop_order.id value because it's an auto increment value from the database.
Professional support and custom implementation are available at Aimeos.com
If you like Aimeos, Image give us a star

Post Reply