php newbie Posted February 10, 2013 Report Share Posted February 10, 2013 Atkal labvakar! Tātad, it kā ar kategorijām tiku galā. Tagad seko lietotāju reģistrācija. Tagad tā jāpartaisa, jo ir jāinserto uzreiz 2 tabulās. Viena ir lietotāju (id, niks, epasts, parole) un otra ir lietotāju pieeju tabula (lietotāja id, grupas id). Ja jaunajam jūzerim nav zināms id, tad kā to ieinsertot otrā tabulā? Vai ir iespējams to sakombinēt ar joiniem? Joins nav vajadzīgs. Join izmanto datu izgūšanai Vispār jau kohana ir Auth modulis http://kohanaframework.org/3.2/guide/api/Auth_ORM Ieslēdz to bootstrap.php Tad iekopē auth.php no modules\auth\config uz savu application\config un samaini File uz ORM lai lietotājus glabātu DB nevis failā 'driver' => 'File', tad izveido tabulas: http://docs.kohanaphp.com/addons/auth#database_schema_for_orm_driver tad veido lietotāju un role apmēram tā: // izveido User modeļa objektu $user = new Model_User(); // dabū post datus $post = $this->request->post(); // padod tos datus modelim un izveido lietotāju $user->values($post)->save(); // atrod role 'login' $loginRole = ORM::factory('Role')->where('name', '=', 'login')->find(); // pieliek klāt 'login' role litotājam $user->add('roles', $loginRole); Logins logouts: http://kohanaframework.org/3.2/guide/auth/login Quote Link to comment Share on other sites More sharing options...
Infants Posted February 10, 2013 Report Share Posted February 10, 2013 No pirmā kverija dabū last insert id un raksti otrā tabulā. Quote Link to comment Share on other sites More sharing options...
martins256 Posted February 13, 2013 Report Share Posted February 13, 2013 Varbūt necenties izgudrot riteni un pamēģini izmantot auth moduli, kurā jau ir iestrādātas lietotāju grupas. Auth modulim ir pieejams ORM draiveris, kas glabās jau tevis aprakstītos datus SQL datubāzē. Quote Link to comment Share on other sites More sharing options...
reGative Posted February 16, 2013 Author Report Share Posted February 16, 2013 Es atvainojos par, iespējams, trulu koda kopēšanu, bet manuprāt, ka šādi taču visam jāstrādā? Kods ir aplūkojams šeit . Errors ir ErrorException [ Notice ]: Undefined index: roles . Saliku tabulas, kā vajag. Citi faili stāv, kā bijuši (to var manā git repo paskatīties), vienīgi šo kontroleri tagad laboju. P.S. Ja posts neizskatās, kā vajag, tad piedošanu, jo es netieku galā ar šo tūli. ;) Quote Link to comment Share on other sites More sharing options...
php newbie Posted February 17, 2013 Report Share Posted February 17, 2013 pamēģini aizkomentē $loginRole = ORM::factory('role')->where('name', '=', 'login')->find(); $user->add('roles', $loginRole); tad vajadzētu pielikt klāt lietotāju bez roles. Un vai ir izveidota login role? Quote Link to comment Share on other sites More sharing options...
reGative Posted February 17, 2013 Author Report Share Posted February 17, 2013 Kad to aizkomentēju, viss ok. Pierego lietotāju bez roles. Kādā ziņā login role? Man datubāzē ir tabulas users, user_tokens, roles, roles_users. roles tabulā ir login un admin. Tātad viss ir savās vietās. Quote Link to comment Share on other sites More sharing options...
Infants Posted February 17, 2013 Report Share Posted February 17, 2013 Vai tev iekš model_user un model_role ir pareizi salikti $_has_many through roles_users? Varbūt tev tas ->add() meklē users tabulā roles lauku? Quote Link to comment Share on other sites More sharing options...
reGative Posted February 17, 2013 Author Report Share Posted February 17, 2013 Paldies, Infant, problēma ar reģistrāciju ir atrisināta. Quote Link to comment Share on other sites More sharing options...
reGative Posted February 17, 2013 Author Report Share Posted February 17, 2013 Tagad pārtaisu login daļu, jo pāreju uz auth moduli. Bet, man kodā ir rindiņa Auth::instance()->login(nick, pass) , bet man met kļūdu ErrorException [ Fatal Error ]: Call to undefined method Auth::instance() . modules mapē ir auth modulis, bootstrap'ā viņš ir ieslēgts, permisijas visam vienādas. Kas par vainu? Quote Link to comment Share on other sites More sharing options...
Infants Posted February 17, 2013 Report Share Posted February 17, 2013 Tavs APPPATH auth modelis extendo Kohanas auth modeli? Lasi, vēlreiz lasi kļūdas ziņojumu. Parasti tas visu pasaka. Quote Link to comment Share on other sites More sharing options...
reGative Posted February 17, 2013 Author Report Share Posted February 17, 2013 Ja tu runā par helperi APPPATH'ā, tad es mēģināju visādi viņu extendot - liku extend auth, kohana_auth, bet nekas nepalidz. Un ne par kādiem auth modeļiem nezinu. Vari apgaismot? Quote Link to comment Share on other sites More sharing options...
Infants Posted February 17, 2013 Report Share Posted February 17, 2013 (edited) Tavam APPPATH/classes/auth.php jābūt: 3. class Auth extends Kohana_Auth {} P.s. Kāpēc tu nepārnes visu šito padarīšanu uz Ko3.3? Edited February 17, 2013 by Infants Quote Link to comment Share on other sites More sharing options...
reGative Posted February 17, 2013 Author Report Share Posted February 17, 2013 (edited) P.s. Kāpēc tu nepārnes visu šito padarīšanu uz Ko3.3? Tāpēc, ka ļoti daudz kas būtu jāizlabo un jāizmaina. Teiksim, visu failu nosaukumi. Tavam APPPATH/classes/auth.php jābūt: 3. class Auth extends Kohana_Auth {} Tagad šis bļauj, ka Kohana_Auth neeksistē. Edited February 17, 2013 by reGative Quote Link to comment Share on other sites More sharing options...
Infants Posted February 17, 2013 Report Share Posted February 17, 2013 (edited) Github'ā var redzēt šībrīža kodu? Varbūt tev ORM modulis ir no 3.3? Edited February 17, 2013 by Infants Quote Link to comment Share on other sites More sharing options...
reGative Posted February 17, 2013 Author Report Share Posted February 17, 2013 Github'ā var redzēt šībrīža kodu? https://github.com/reGative/Phorumph/tree/task_%232 - šeit ir viss šībrīža sastrādātais. Te nav moduļu un system mapes. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.