Producten koppelen (welke werkwijze)

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Back-end Developer

Functieomschrijving Voor een erkende werkgever in de regio van Middelburg zijn wij op zoek naar een enthousiaste PHP / Symfony Developer. Een ambitieus persoon die het gemotiveerde development team komt versterken met het realiseren van nieuwe en complexe projecten. Ben jij op zoek naar een baan met veel uitdaging binnen een snelgroeiend e-commerce bedrijf, waar je de tijd en ruimte krijgt voor professionele groei? Dit ga je doen: Je bent verantwoordelijk voor de beheer en ontwikkeling van de serviceportal in Symfony en de webshops in de tweede versie van Magento; Je houdt je bezig met het ontwikkelen van nieuwe functionaliteiten;

Bekijk vacature »

Magento developer

Functie E-commerce is een ‘’snelle’’ wereld. Om hierin continu voorop te blijven omarmen ze in een vroeg stadium nieuwe technieken. Een webshop is nooit af en kan altijd beter, sneller en efficiënter. Tegelijkertijd hebben ze vanaf hun oprichting altijd vastgehouden aan kwaliteit boven snelheid, en dit loont. Als back-end developer fungeer je als het verlengstuk van hun klanten. Technisch complexe zaken pak je met liefde op, en hierin werk je samen met o.a. front-end developers en designers. Klanten verwacht hierin kwaliteit van het hoogste niveau en een proactieve, meedenkende rol bij het maken van zowel technische als strategische keuzes. Ga

Bekijk vacature »

Gezocht: .Net ontwikkelaars met een maatschappelij

Bedrijfsomschrijving Zoek jij als medior .Net ontwikkelaar een inspirerende werkplek bij een bedrijf met maatschappelijk verantwoordelijkheidsgevoel? Dan is deze vacature je op het lijf geschreven. De organisatie bestaat ruim 20 jaar en ze ontwikkelen in house applicaties waarmee de zorgsector enorm mee gebaat is. Jouw applicaties worden gebruikt door duizenden gebruikers waardoor je echt een waardevolle bijdrage kan leveren aan de maatschappij. Het bedrijf is zeer innovatief en vindt een goede werk/privé balans belangrijk. Je krijgt alle mogelijkheden om jezelf verder te ontwikkelen, je werktijden in te delen en daarnaast is het ook mogelijk om deels thuis te werken. Het

Bekijk vacature »

Freelance JAVA / C# Developer

Functieomschrijving Voor een opdrachtgever in omgeving Zoetermeer zijn wij op zoek naar ervaren JAVA of C# Developers die graag op projectbasis willen werken. Je komt terecht bij een informele developers club die mooie projecten uitvoeren voor grote klanten. Ben je een ervaren freelancer of werk je in loondienst en ben je toe aan een nieuwe uitdaging? Lees dan snel verder want wie weet is dit een leuke vacature voor jou! Het fijne van deze werkgever is dat je zelf mag beslissen hoe je te werk wilt gaan. Wil je als freelancer werken dan is dat OK. Wil je de zekerheid

Bekijk vacature »

C# .Net Developer

Dit ga je doen Het bouwen van Api's; Nieuwe oplossingen bouwen met C# .Net; De huidige software uitbouwen met C# .Net; Meewerken in projecten; Meedenken aan de toekomstplannen en verbeteringen; Onderdeel van het Scrum Team. Hier ga je werken Onze klant is een dienstverlenende organisatie voor diverse soorten organisaties in Nederland. Ze zijn van oorsprong een familiebedrijf en er is een open cultuur. Ze zijn vooruitstrevend op IT gebied en hebben een eigen inhouse development team van circa 11 man. Je komt hier te werken in het subteam .Net Core. Hier werken ze volgens scrum met de nieuwste technieken en

Bekijk vacature »

C# developer

Functie Als ervaren Software Engineer wordt jij verantwoordelijk voor het bedenken en ontwikkelen van technische (maatwerk) oplossingen voor onze klanten en dit samen met de klant af te stemmen. Jij wordt o.a. verantwoordelijk voor de doorontwikkeling het software pakket welke voor ons enorm belangrijk is. Dit pakket zorgt er namelijk voor dat wij complete productielijnen kunnen aansturen en monitoren. Daarnaast heb jij actief contact met onze hoofdvestiging om het software achter een van onze systemen te verbeteren en te herschrijven. Momenteel zijn onze C# applicaties geschreven met o.a. Winforms. Echter hebben wij de actieve ambitie om dit te gaan herschrijven

Bekijk vacature »

Junior Java Developer

Dit ga je doen Full stack web- en appdevelopment; Vertalen van de functionele wensen naar de technische specificaties; Sturing geven aan/klank board zijn voor de software teams; Trainen van de software teams; Sparren met klanten; Meedenken over architectuur. Hier ga je werken De organisatie is een bureau welke websites en mobiele applicaties bouwt voor verschillende toonaangevende organisaties. Hierbij richten zij zich voornamelijk op de sectoren leisure, overheid en zorg. De sfeer intern kenmerkt zich door informaliteit, gezelligheid en ambitie. Ze werken dag in dag uit samen om mooie producten op te leveren voor hun klanten. Op dit moment zijn er

Bekijk vacature »

.NET Developer Microservices

Dit ga je doen Je taken zullen voornamelijk bestaan uit: Het ontwikkelen van software, inclusief vormgeving, implementaties, integraties en (automatisch) testen (.NET, C#, Azure, Docker, Microservices, Angular); Het in kaart brengen van software requirements; Zorgen dat jouw code kwalitatief hoogstaand is; Het uitvoeren van risico analyses; Een bijdrage leveren aan het continuous quality improvement process. Hier ga je werken Dat kanker een verschrikkelijke ziekte is die de wereld uit geholpen moet worden, is duidelijk. Binnen deze Gelderse organisatie die duizenden ziekenhuizen van producten voorziet, proberen ze daar via technische innovaties aan bij te dragen. Samen met 10 collega .NET developers

Bekijk vacature »

Software Developer (Junior functie)

Functieomschrijving Wij zijn op zoek naar een Software Developer! Sta jij in de startblokken om je carrière te beginnen en kan je niet wachten om toffe software te gaan ontwikkelen? Kortom, ben je onlangs afgestudeerd of sta je op het punt om je papiertje te behalen? Voor een IT dienstverlener dat gespecialiseerd is in Microsoft technologie zijn wij op zoek naar C#.NET Developers. Het bedrijf heeft meerdere klanten in regio Utrecht waar je permanent kan komen te werken. Kom je liever te werken bij een klein softwarebedrijf of bij een groot consultancy bureau? Dat is helemaal aan jou de keuze!

Bekijk vacature »

Trainee pega developer

Wil jij een mooie stap maken in jouw carrière? Mooi! Bij De Mandemakers Groep haal je binnen 6 maanden je CSA- en CSSA-certificaten, waarna jij aan de slag kan als Pega-developer in ons IT-team. Achter de schermen zorg jij ervoor dat collega’s efficiënt werken en klanten iedere dag beter geholpen worden. Wil jij daaraan bijdragen? En jouw ICT-skills ontwikkelen? Lees dan snel verder en solliciteer vandaag nog als trainee Pega-developer. Wat ga je doen? Als trainee Pega developer leiden wij je op tot gecertificeerd software developer voor het low-code platform PegaSystems. In de training ben je verantwoordelijk voor een te

Bekijk vacature »

Software Programmeur

Functie omschrijving Ben jij op zoek naar een organisatie waar je samen met een team werkt aan iets moois en waar je naast hard werken ook hard kunt lachen? Dan ben je hier aan het juiste adres! Voor een informeel IT-bedrijf in omgeving Wassenaar zijn wij op zoek naar versterking. Ben jij op zoek naar een nieuwe uitdaging als Software Programmeur lees dan snel verder! Werkzaamheden Programmeur Je bent bezig met het ontwikkelen van software en webapplicaties. Je kunt technische klussen uitvoeren op locatie. Je onderhoudt contact met de projectleider om er zeker van te zijn dat een project goed

Bekijk vacature »

Senior front-end developer (React)

Functie Momenteel zijn ze op zoek naar een ervaren front-end developer. Als senior werk je nauw samen met 5 collega developers. Een klein scrum team dus, met korte lijnen waardoor jouw ideeën snel tot uitvoering gebracht kunnen worden. De huidige applicaties worden veelal ontwikkeld met o.a. React, Redux, TypeScript. Ze zijn echt op zoek naar een kartrekker in het team. Naast het meedenken over, opzetten en uitvoeren van bijvoorbeeld de architectuur of toepassing van nieuwe technieken krijg je ook veel tijd om de meer junior (front-end) developers te begeleiden. Hierin nemen ze graag de tijd om mensen de ruimte te

Bekijk vacature »

Software developer (Python)

Functie Je komt te werken in het IT-team bestaande uit de Lead developer en 4 (medior/senior) developers. Gezamenlijk werken jullie aan de verbetering en uitbreiding van de software. Binnen het development team is er veel vrijheid en zelfstandigheid, zonder dat ze hiermee afdoen aan de kwaliteit. Zo hebben ze elke ochtend een korte stand-up (10:00 uur) en houden ze zo nu en dan pair-programming sessies. Ook is er een hele professionele ontwikkelcyclus waarbij code altijd eerst door een collega wordt getest voordat het naar deployement gaat. Je hebt in je werk oog voor kwaliteit, risico’s en het klantbelang. Communicatie met

Bekijk vacature »

Intern - Junior PHP ontwikkelaar in fris en jong t

Bedrijfsomschrijving Werk jij graag een in fris, flexibel en jong team? Bij ons ben jij vrij om te bepalen waar jij het liefst werkt en op de vrijdag komen wij gezellig bij elkaar op kantoor. Flexibiliteit en vrijheid zijn bij ons de norm en dat geeft jou de ruimte en energie om het beste uit jezelf te halen! Ons team bestaat uit vijf enthousiaste collega's die jou graag ondersteunen in zowel je persoonlijke als professionele ontwikkeling. Met twee ervaren Senior Developers als mentoren ben jij in goede handen. Wij zien onszelf als een vriendengroep die gezamenlijk werken aan iets moois

Bekijk vacature »

Full stack ontwikkelaar Laravel, Vue.js

Functie Als ontwikkelaar binnen deze organisatie hou jij je voornamelijk met lopende projecten voor de verschillende klanten. Zo bouw je de ene dag aan prijsschifting systemen en de andere dag onderzoek je crawlers en stel je ze zo in dat de data goed binnen komt binnen het systeem. Daarnaast bouw je mee aan dashboards en ben je dus constant bezig met het verbeteren van het platform. Er is een vaste werkwijze, zo werken ze met Trello kaarten en onderverdelen ze deze aan het begin van iedere week onder de developers. Dit wordt door de lead developer gedaan, maar in samenspraak

Bekijk vacature »
Ben Pastoor

Ben Pastoor

18/11/2020 20:56:43
Quote Anchor link
Ik werk momenteel aan tool die het makkelijk moet maken om product varaties te koppelen. Dit wil zeggen, stel je hebt 4 producten die aan elkaar gelinkt moeten worden je dit maar 1x hoeft te doen.

Om de producten te koppelen wil
Ik gebruik maken van de productID

Momenteel heb ik het nu werkend om de productID te verkrijgen van de artikelen die ik wil koppelen

Nu moet ik alleen nog de kenmerken van de variatie hieraan toevoegen bijvoorbeeld kleur of materiaal etc.

Nu zou ik graag wat input willen hebben wat jullie zouden doen qua opslaan (array vorm? Of andere manier)

Hoe je de DB hiervoor zou inrichten. (relative tables?)
 
PHP hulp

PHP hulp

03/11/2024 13:37:34
 
Thomas van den Heuvel

Thomas van den Heuvel

18/11/2020 22:26:01
Quote Anchor link
Hier was redelijk recent (interne link) al een topic over.
Gewijzigd op 18/11/2020 22:38:39 door Thomas van den Heuvel
 
Ward van der Put
Moderator

Ward van der Put

19/11/2020 10:50:28
Quote Anchor link
Als je een Product uitbreidt tot een ProductModel kun je gemakkelijker relaties zoals isVariantOf leggen.

Elke productvariant, dus elk ProductModel, moet dan inderdaad een unieke product-ID hebben, anders kun je de varianten niet uit elkaar houden.

Met een EAV-infrastructuur (in het gelinkte topic) heeft dat verder weinig te maken. EAV (entity-attribute-value) is slechts een databasetechniek om productdata op te slaan in een relationele database, maar dat bepaalt niet hoe je productmodellen ontwerpt.
 

20/11/2020 10:06:22
Quote Anchor link
Je wilt het EAV-model vermijden, omdat het weinig met SQL te maken heeft.

Een andere aanpak kan zijn om een tabel aan te maken met basiseigenschappen die alle producten met elkaar gemeen hebben, zoals naam, SKU, etc. Met daarnaast per productsoort een tabel waarin unieke eigenschappen in kunnen worden opgeslagen.
De eigenschappentabel kan je koppelen aan de basistabel door te werken met dezelfde primaire ID's.
Je kunt het zo maken dat de PRIMARY KEY in de hoofdtabel een AUTO_INCREMENT heeft, en daarnaar verwijzen vanuit de eigenschappentabellen met een PRIMARY KEY die tevens een FOREIGN KEY constraint heeft naar de PRIMARY KEY van de hoofdtabel.

Wil je meer met AUTO_INCREMENT doen, dan is het handig als je database SEQUENCES ondersteunt. MySQL doet dat bij mijn weten nog steeds niet, zelfs niet in de huidige versie 8.0. Maar MariaDB en PostgreSQL doen dat wel:
MariaDB: https://mariadb.com/kb/en/create-sequence/
PostgreSQL: https://www.postgresql.org/docs/current/sql-createsequence.html

Ja, het kost wel meer werk om op te zetten, maar dan heb je de voordelen van SQL zoals garanties op data-integriteit en -kwaliteit. Dat is meestal de hoofdreden om iets in SQL te willen doen.

In sommige gevallen wil je liever iets EAV-gerelateerds doen, en hoeft de nadruk niet op SQL te liggen.
In zulke gevallen kan je ook besluiten om met JSON-strings te werken, en deze op te slaan in een JSON-kolom.
PostgreSQL: https://www.postgresql.org/docs/10/datatype-json.html
- https://www.postgresql.org/docs/current/functions-json.html
MariaDB: https://mariadb.com/kb/en/json-functions/
MySQL: https://dev.mysql.com/doc/refman/5.7/en/json.html
Dan kan je in SQL-queries werken met handige JSON-functies van de database.
 
Thomas van den Heuvel

Thomas van den Heuvel

20/11/2020 16:07:07
Quote Anchor link
Quote:
Met een EAV-infrastructuur (in het gelinkte topic) heeft dat verder weinig te maken. EAV (entity-attribute-value) is slechts een databasetechniek om productdata op te slaan in een relationele database, maar dat bepaalt niet hoe je productmodellen ontwerpt.

Als je met productmodellen code bedoelt, die bepaalt hoe je verder met deze (database-)data werkt, dan ja, dat staat dan redelijk los van elkaar, maar dit sluit elkaar ook niet uit? Vormt een EAV database-aanpak een belemmering?

Quote:
Je wilt het EAV-model vermijden, omdat het weinig met SQL te maken heeft.

Als je met EAV-model een soort van "database-in-een-database"-aanpak bedoelt dan ja, dit kun je beter vermijden omdat dit voor een aantal issues zorgt (o.a. fragmentatie van data). Behalve wellicht als dit een redelijk efficiënte oplossing vormt voor een zekere mate van gewenste flexibiliteit. Magento gebruikt volgens mij nog steeds een EAV-aanpak, dat zegt toch ook wel wat.

En voordat dit (weer?) ontaardt in gebakkelei over de vorm van een oplossing lijkt het mij misschien handig om het doel niet uit het oog te verliezen.

Wat voor aanpak je ook kiest, op een gegeven moment moet je de data die je in je database gestampt hebt er ook weer op een efficiënte en makkelijke manier uit kunnen trekken en hiermee makkelijk kunnen zoeken (denk aan facetted searches etc.). Hoe je dit optimaliseert wordt (mede) bepaald door hoe je deze data gebruikt. Het ontwerp van je database zou dit doel moeten dienen en aan moeten sluiten bij het gebruik.

Ik zou haast zeggen dat het irrelevant is welke vorm dit precies aanneemt zolang het doel maar wordt bereikt.
 
Ward van der Put
Moderator

Ward van der Put

20/11/2020 17:02:52
Quote Anchor link
Zo te zien heeft de topicstarter al een EAV-database.
 

23/11/2020 14:00:23
Quote Anchor link
Thomas van den Heuvel op 20/11/2020 16:07:07:
En voordat dit (weer?) ontaardt in gebakkelei over de vorm van een oplossing lijkt het mij misschien handig om het doel niet uit het oog te verliezen.


Inderdaad, maar welk doel? Eenvoudig zoeken? Is dat wat Ben bedoelt met "Hoe je de DB hiervoor zou inrichten."?
Ik haal dat er niet uit. Volgens mij vraagt hij juist naar normalisatie in de eerste alinea.

Voor snel en eenvoudig zoeken met mijn eerdere suggestie kan je complexere structuren vereenvoudigen met VIEWs, en queries versnellen met indices, zoals gebruikelijk met SQL.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.