Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [CakePHP 2.3] Tworzenie asocjacji
Forum PHP.pl > Forum > PHP
Crash89
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?
r4xz
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
Crash89
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.
r4xz
Popatrz: http://book.cakephp.org/2.0/en/models/asso...er.html#hasmany
lecturer_id i group_id... bigos 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?)
Crash89
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 ?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.