laravel-cart-manager icon indicating copy to clipboard operation
laravel-cart-manager copied to clipboard

Make Cart model customizable and easy to exchange

Open tomhatzer opened this issue 6 years ago • 5 comments
trafficstars

Dear maintainers,

I've updated the package to allow custom Cart model classes. This is a nice addition if you want to extend the base Cart model class with more relationships like adding a user and coupon relationship.

I hope my code is ok, otherwise please comment and I'll fix any issues that my occur.

Thank you very much!

Best wishes Tom

PS: Sorry for the multiple commits...

tomhatzer avatar Oct 31 '19 11:10 tomhatzer

Hi Tom,

I really appreciate your work here.

This one looks good at the first pass. Let us work on this together to polish it :)

Can you please also update tests accordingly to make sure that users' custom models would also work properly?

Thanks.

gauravmak avatar Nov 02 '19 04:11 gauravmak

Hi @gauravmak !

Thanks for replying 😃 Sure, I've spent quite some time now on this but I'm uncertain if testing of the custom models is possible at all. Setting/overwriting the config value is possible and writing a test that checks if the config value has changed is possible either.

But for the models themself, there is currently no way to test it as everything is converted to arrays or Core/Cart and Core/CartItem.

The models are only used for inserting data into the database and querying data inside the database.

Do you possibly have anything in mind that could help with this? One thing that could work is switching from the Core classes to the models classes and use the toArray() methods inside the model classes. But this would be a huge breaking change.

Thank you very much!

Best wishes Tom

tomhatzer avatar Nov 02 '19 10:11 tomhatzer

Tom,

I will be able to take a look at it later this week. I will reply here.

gauravmak avatar Nov 04 '19 09:11 gauravmak

It would really make sense to be able to customize the model.

fusigabs avatar Apr 11 '23 14:04 fusigabs

Yes, it does. Haven't been able to go through this due to time constraints.

This PR is quite old now. Is anyone still up to recreating with the latest code?

gauravmak avatar Apr 12 '23 05:04 gauravmak