Klausimai

Autorius Tekstas
ednimg
2014-09-23 15:30
Sveiki,

Turiu klausima ar imanoma ir kaip tai turetu but daroma. Jei tarkim norim tureti friendly url.
Pvz.:

url:...admin/aiksteles/2/edit, butu galima pakeistii: admin/aiksteles/pavadinimas/edit
Povilas (mokytojas)
2014-09-23 16:05
1. Ar įmanoma - aišku įmanoma. Klausimas - ar verta? Nes friendly URL reikalingi dėl SEO, o nuo kada googlui duodame indeksuoti administravimo puslapius? :)

2. Kaip tai daroma - jau nebetinka Resource controlleriai ir nebeveiks Route::resource() nes jis pririštas prie ID, reikia daryti Route::controller() arba net Route::get() ir pačiam aprašinėti funkcijas.
ednimg
2014-09-23 17:38
Del admino as zinau, tiesiog toki pavizdi daviau.

Tai tarkim jeigu imant si praktini darba ir norim, kad mums aiksteles info parodytu ( aiksteles/pavadinimas ) reik paciam apsirasineti. Tai duomenu bazeje (court) reiktu tureti kazkoki tai lauka, kuriame saugotume to url irasa. pvz: pavadinimas-numeris-vienas, ir pagal tai butu galima traukt is duomenu bazes ta irasa.
Povilas (mokytojas)
2014-09-23 17:44
Taip, tada visiškai teisingai, pradžioje galvojau kad būtent apie admino dalį klausį - jos tikrai neapsimoka daryti URL friendly.

O dėl išorės atvejo - taip, reikėtų turėti kokį nors lauką "token" ar "slug" ar kaip bepavadinsi, ir tada daryti Route::get('aiksteles/{$token}') ir funkcijoje ieškai Court::where('token', '=', $token)
ednimg
2014-09-24 09:54
dekui, viskas aisku dabar
ednimg
2014-09-24 10:14
Dar vienas klausimas, ar galima controlerius kurti kataloguose? Tarkim controller/admin/KazkoksController.php, kaip tada per route juos kviesti?
ednimg
2014-09-24 10:24
Radau sprendima, jei kam reiks pasiskaitykite, pats paskutinis postas: http://stackoverflow.com/questions/18850542/laravel-controller-subfolder-routing

Gal yra ir kitu metodu?
Povilas (mokytojas)
2014-09-24 10:26
Taip, šitame StackOverflow poste viskas teisingai rašoma, nelabai turiu ką pridurti. Dėliokite Controllerius kaip tik norite, po to su composer reikia pergeneruoti automatiškai kraunamus failus ir Laravel pats suras tuos Controllerius kad ir kokiame /controller subkataloge jie būtų.
ednimg
2014-09-24 17:01
Gal butu galima placiau pakalbeti apie Elequent
join ir t.t.

Bandau taip: ->join('table', 'table.token', 'LIKE', $token)
bet ta $token pavercia taip: LIKE `kazkas` tipo kaip colum'a
Povilas (mokytojas)
2014-09-24 17:29
Kažkaip nelabai suprantu, ką tu nori padaryti. Taigi JOIN nėra WHERE, tai du skirtingi sakiniai, panašu kad bandai į vieną padaryti.

Turėtų būti kažkas panašaus: table->join('table2', 'table2.id', '=', 'table.table2_id')->where('table2.field', 'LIKE', $token)
ednimg
2014-09-24 17:43
Turbut nesuprantamai paaiskinau, bet jau viskas veikia.

Ar bus uzsiminta apie sias func. belongsTo, hasMAny ir t.t.

Kada jas reiktu naudot, ir koks ju tikslas. Manau nevisiems. ;)
Povilas (mokytojas)
2014-09-24 17:48
Tai kad jau yra aprašyta. Pamoka nr.6: "6. Models ir darbas su duomenų baze" (http://phppamokos.lt/php-kursas/laravel-jusu-pirmasis-projektas/1/pamoka/6)

Skyrelis "Relationships: sąryšiai tarp skirtingų modelių/lentelių"

Ar ne apie tai kalbi? :)