Witam,
uczę się dopiero CakePHP od jakiegoś czasu, pisze portal społecznościowy chciał bym wyciągać informacje użytkownika który wpisał sobie coś na swoją tablice.
Tutaj mam kod profilu
function profil( $id = null ){ $validationError; $userData; if ( $this->Auth->user() ) { $userData = $this->User->read(null, $this->Auth->user('id')); if( !http://www.php.net/empty( $this->data ) ){ $this->Author->id = $this->Auth->user('id'); if(http://www.php.net/empty($this->data['User']['haslo'])) { if(http://www.php.net/empty($this->data['User']['haslo'])) $this->data['User']['haslo'] = $userData['User']['haslo']; if( $this->User->save( $this->data ) ){ }else{ // błąd w validacji $validationError = $this->User->validationErrors ; } }else{ $this->User->set( $this->data ); $this->User->validates(); $validationError = $this->User->invalidFields(); ; } } }else{ $this->Session->setFlash(__('Błędny używkonik.', true)); } $this->data = $this->User->read(null, $this->Auth->user('id')); $this->data['User']['haslo'] = ""; if( http://www.php.net/isset($validationError) ) $this->Author->validationErrors = $validationError; $this->set('user', $this->data ); }
<?PHP http://www.php.net/echo $user['Table']['opis']; ?>
Wpisz sobie w widoku:
http://www.php.net/array ( [User] => http://www.php.net/array ( [id] => 42 [email] => patrol114@gmail.com [imie] => Patryk [nazwisko] => Dabrowski [haslo] => [miejscowosc] => sdfaaa [gg] => sdfaaa [tell] => sdfaaa [sex] => M [urodzony] => 1993-07-09 ) [Table] => http://www.php.net/array ( [0] => http://www.php.net/array ( [id] => 1 [temat] => Siema [opis] => Czesc [user_id] => 42 [data] => 2011-08-09 ) ) )
Teraz mozesz wyswietlic
Mógłbyś wyjaśnić dlaczego takie zastosowanie ?
W Cake'u istnieja m.in relacje typu hasMany oraz hasOne (odpowiednio: maDuzo i maJednego... - jeszcze tego w ten sposob nie tlumaczylem:)
Otoz...
Relacja hasOne sluzy do tego jest np. 1 User ma 1 Profile (uzytkownik posiada profil - dane charakterystyczne w wystepujace tylko raz: imie, nazwisko, itd.)
Relacja hasMany sluzy do tego ze np. 1 User ma ileś Odpowiedzi (np. na forum - zalozyl ileś tematow).
Przyklad:
Wyswietl informacje o samochodzie i jego poprzednich kierowcach:
Car hasOne Engine (samochod posiada silnik) AND Car hasMany Drivers (...i posiada grupę kierowców)
Nie wiem czy to zrozumiale...
Dla wyswietlenia wynikow hasMany wystarczy wyswietlic $car['Car']['engine'] natomiast kierowcow nalezy potraktowac petla 'foreach' ze wzgledu ze jest to tabela wynikow...
lecz po foreach on nie wie co to jest ' Table '
Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)