Kód: Vybrať všetko
Parents:
id | title
0 A
1 B
2 C
Childs:
id|parent_id|title
0 0 XXX
1 0 YYY
2 0 ZZZ
Kód: Vybrať všetko
{data: [{id: 0, type: "parent", title: "A"}, {type: "child", title: "XXX", connectedTo: 0}, {type: "child", title: "YYY", connectedTo: 0}, {type:"child" ,title: "ZZZ", connectedTo: 0}]}
Na strane servera následne prejdú všetky položky cyklom a predajú sa do funkcie "save". Môj problém je ten ,že potomkov musím nejakým spôsobom spojiť s rodičom. To robím za pomoci vlastnosti "connectedTo". Na strane SS sa následne IDčko každého nového parenta sevjne do premennej $parentIDs[$data["id"]] = lastInsertedId ,ak potrebuje potomok IDčko svojho rodiča tak si ho vytiahne z poľa za pomoci connectedTo.
Poprosím Vás aby ste vzali do úvahy to ,že JSON nemusí vyzerať stále tak ako to vyššie. Rodič už môže byť kľudne sejvnutí tz. potomkovia nepotrebujú connectedTo ,ale použije sa rovno parentId čo je IDčko rodiča v hlavnej (Online) databáze. Tiež sa nemusia vždy zasielať dáta v tvare "rodič, potomok, potomok" môže isť len o potomkov...
Riešenie uvedené vyššie funguje bez problémov mojím problémom ,ale je (Ako aj v iných mojich témach) ,že niesom dostatočne spokojný s týmto riešenim a niečo mi hovorí ,že to môže byť aj lepšie. Ak si to myslíte aj vy tak by som bol rád ,ak by ste mi navrhli nejaké iné riešenia/nápady...
// Štruktúra typu [[rodič, potomok, potomok], [rodič, potomok]...]; neprípada do úvahy
// Riešiť to tak ,že najprv pošlem rodičov -> obdržím ich IDčka z hlavnej DB a potom až zašlem potomkov s týmito IDčkami taktiež nechcem použiť.
Ďakujem