Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [CakePHP 2.3] Tworzenie asocjacji, Nie działają asocjacje.
Crash89
post
Post #1





Grupa: Zarejestrowani
Postów: 191
Pomógł: 7
Dołączył: 3.04.2013

Ostrzeżenie: (0%)
-----


Witam,

Tworząc aplikację w CakePHP 2.3 nie działają mi asocjacje.
W edycji tabeli mam po prostu puste pola wyboru, tam gdzie powinienem wybrać np. autora jakiegoś artykułu.

Kiedy robię to w taki sposób, ale w wersji Cake 1.3.15 to działa jak należy:

Model Klub.php:
  1. $hasMany = array( 'Zawodnik' );

Model Zawodnik.php:
  1. $belongsTo = array('Klub');


W ten sposób działa, ale tylko w wersji 1.3.15.

Jak to zrobic w najnowszej wersji CakePHP?

Ten post edytował Crash89 3.04.2013, 15:01:58
Go to the top of the page
+Quote Post
r4xz
post
Post #2





Grupa: Zarejestrowani
Postów: 673
Pomógł: 106
Dołączył: 31.12.2008

Ostrzeżenie: (0%)
-----


jak wygląda "edycja tabeli"? jak to się prezentuje w db (te 2 tabele)?
z tych informacji mogę tylko odesłać do http://book.cakephp.org/2.0/en/models/asso...s-together.html

---edit---
ew. może źle stosujesz find(list) (jedyne co mi na szybko do głowy przyszło, ale wymyślać co mogłeś popełnić za błędy to masakra...) - http://stackoverflow.com/questions/7531079...ssociated-model

Ten post edytował r4xz 3.04.2013, 15:17:19
Go to the top of the page
+Quote Post
Crash89
post
Post #3





Grupa: Zarejestrowani
Postów: 191
Pomógł: 7
Dołączył: 3.04.2013

Ostrzeżenie: (0%)
-----


Może przedstawię struktury tabel i pełne treści modeli :

Tabela Groups:

  1. - id PRIMARY KEY
  2. - nazwa VARCHAR
  3. - Sala VARCHAR
  4. - Budynek INT
  5. - dzien VARCHAR
  6. - Godzina Time
  7. - lecturer_id (Tutaj powinien BYć narazie numer id Wykładowcy) klucz obcy


Tabela Lecturers:

  1. - id PRIMARY KEY, ograniczenie do 11
  2. - imie VARCHAR
  3. - nazwisko VARCHAR
  4. - PESEL INT



tabele InnoDB


Model Group:

  1. class Group extends AppModel {
  2.  
  3. var $name = 'Group';
  4. var $belongsTo = array( 'Lecturer' );
  5.  
  6.  
  7. }
  8.  
  9. ?>


Model Lecturer:

  1. <?php
  2.  
  3. class Lecturer extends AppModel {
  4.  
  5. var $name = 'Lecturer';
  6.  
  7. var $hasMany = array( 'Group' );
  8.  
  9. }
  10.  
  11. ?>


No i taka postać modeli i tabel działa w wersji 1.3.15


ps.
Wybaczcie że nie napisałem tego tematu w Frameworkach, pomimo że jest to na górze strony, jakoś mi to umknęlo.

Ten post edytował Crash89 3.04.2013, 23:38:05
Go to the top of the page
+Quote Post
r4xz
post
Post #4





Grupa: Zarejestrowani
Postów: 673
Pomógł: 106
Dołączył: 31.12.2008

Ostrzeżenie: (0%)
-----


Popatrz: http://book.cakephp.org/2.0/en/models/asso...er.html#hasmany
lecturer_id i group_id... bigos (IMG:style_emoticons/default/smile.gif) Nie rozumiem do końca jaką ty chcesz uzyskać relację? Many to many? One to many (jeśli tak to co do czego?)
Go to the top of the page
+Quote Post
Crash89
post
Post #5





Grupa: Zarejestrowani
Postów: 191
Pomógł: 7
Dołączył: 3.04.2013

Ostrzeżenie: (0%)
-----


Lecturer może prowadzić wiele grup, grupa może mieć tylko jednego prowadzącego.

W sumie w bazie nie mam group_id w tabeli lecturers.



Edit:

poczytałem trochę tego ale nadal niewiem jak zrobić asocjacje w wersji 2.3 na pewno chodzi o jakąś jedną rzecz...jak zawsze.

Na ten moment zostawiłem wersję 2.3 a poznaję dalej 1.3 i natknąłem się na kolejny problem.
Zaczałem zabawę z consolą cakePHP, wszystkie opcje jak api, acl, schema i reszta działają, ale nie działa jedyna, którą na ten moment potrzebuję czyli 'cake bake'. Kiedy ją wklepuję wyświetla się: "Program CLI przestał działać" i...program wraca do punktu wyjścia.
W czym tutaj może byc problem, czy znaczenie ma układ plików w folderze ?


Ten post edytował Crash89 3.04.2013, 23:37:05
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 01:24