Řeším zapeklitý problém (pro mě). Laravel používám jako (json) API. Mám dva objekty : Client, Project. vazbz jsou : "client has many projects" a "project belongs to client".
A potřebuju aby mi v api byl vrácen u klienta i seznam projektů A u projektu client.
Řešil jsem to pomocí protected $appdends
ale ...
Tam je ten háček.
Zacykli se to. Klient má projekty a projekty mají klienta kterej má projekty...
ukázka :
client : {
name: 'klientA',
projects : [{
name: 'prejktA',
client: {
name: 'klientA',
projects : [{
name: 'prejktA',
client: {
name: 'klientA',
....
}
}]
}
}]
}
Jak se tohle má řešit "správně" ? Mám snad mapovat v kontroleru kolekci a otrocky každý model ručně ?
To možeš ľahko zmeniť. Registrácia je zdarma a ako registrovaný člen získaš množstvo výhod. Prečítaj si prečo by si mal byť členom.
Prihlásiť sa ZaregistrovaťAhoj, správné řešení by bylo vytvořit Resource ke každému modelu - Client a Project - a v jednotlivých resource si definuješ podobu výsledného json api.
Jednoznacna a jedina spravna odpoved asi neexistuje. Moznosti je niekolko.
S tym cyklenim je to problem, ktory ModelResource sam o sebe neriesi (cyklit sa ti to bude rovnako aj ked pouzijes Resources).
Osobne preferujem, ak je odpoved na akykolvek API call vratena ako Resource, pretoze Resource wrapper (rozdelenie do casti data, links, meta, ...) je prijemnym standardom.
Do akej hlbky potrebujes mat tie vztahy obsiahnute vo vyslednom objekte? Staci ak Client
bude mat Project
, ktory uz nebude obsahovat klientov?
Celkom elegantne riesenie je pouzit Eager load v modeli a nasledne v Resource na vztah podmienku whenLoaded
Добро пожаловать в "Барахолку и Услуги в Дрезна" https://t.me/baraholkawdrezna - вашу центральную точку для поиска выгодных сделок, бесплатных объявлений и качественных услуг в Дрезна! У нас вы найдете самые свежие объявления и предложения от частных лиц и предприятий
Добро пожаловать в "Барахолку и Услуги в Дрезна" https://t.me/baraholkawdrezna - вашу центральную точку для поиска выгодных сделок, бесплатных объявлений и качественных услуг в Дрезна! У нас вы найдете самые свежие объявления и предложения от частных лиц и предприятий