Wyświetlanie danych z tablic bez wzajemnej relacji w jednym widoku - PHP
Farnell, An Avnet Company   Przedstawicielstwo Handlowe Paweł Rutkowski   Fluke Europe B.V.  

Energetyka, Automatyka przemysłowa, Elektrotechnika

Dodaj firmę Ogłoszenia Poleć znajomemu Dodaj artykuł Newsletter RSS
strona główna GRUPY PHP Wyświetlanie danych z tablic bez wzajemnej relacji w jednym widoku
REKLAMA
Przejdź do grup
REKLAMA

Wyświetlanie danych z tablic bez wzajemnej relacji w jednym widoku

Awatar użytkownika
AnnaTopczewska

Hej,

znów mam problem :] 

Bawiłam się trochę cake'em wszystko zgodnie z manualem do czasu gdy muszę w jednym widoku wyświetlić dane z dwóch modeli, większość tablic ma przypisane klucze referencyjne i modele są ze sobą powiązane ale problem polega na tym, żę strukturę bazy mam taką jak na obrazku:

mam tabele systemu CRM z wykonanymi kontaktami, z którą są powiązane w bazie i modelu tablice z

  1. pracownikami (z którymi wykonano kontakty),
  2. pracownikami (użytkownikami CRM'a),
  3. firmami (do których się kontaktowano)
  4. statusem kontaktu (nieobecność,poinformowano itd.)

użyłam 'piekarnika' i wytworzyło mi podstawowe struktury, pomodyfikowałam style, dodałam helpery 

 

chiałabym w widoku z pojedynczą firmą  -> widok viev modelu company, w którym  domyśnie wypiekło:

  • podstawę czyli część z danymi firmy,
  • cześć z przypiętymi pracownikami (tablica firm i pracowników jest skorelowana przez pole company_id w rekordach z pracownikami)
  • część z wykonanymi kontaktami z tą firmą ( ale zamiast wstawionych wartości mam wszędzie id, id statusu,id usera,id pracownika)

kombinowałam odnośnie pkt3  zmieniać nazwy zmiennej ale w wyplutych treściach zapytań żadne nie widzę możliwości odniesienia się do konkretnej nazwy pracownika bo po prostu o to nie ma zapytania.

czy podpowie mi ktoś jak to zrobić aby zamiast id były nazwy i wartości. Z programowania obiektowego stoję dość marnie.

cytuj pomógł zgłoś nadużycie
Awatar użytkownika
Artur Kulikowski

Witaj,

trochę późno odpisuję ,ale lepiej to niż wcale, jeśli temat wciąż aktualny to:

aby wyświetlać te dane tak jak mówisz do danego modelu wyświetlającego musisz dołączyć drugi model przez $uses, precyzując w kontrolerze modelu company dołączasz coś takeigo:

var $uses = array('Company','NazwaKontroleraModeluWykonanychKontaktów');

i wtedy w funkcji odpowiedzialnej za wyświetlenie pojedynczej firmy (domyślnie view() ) dodajesz odnalezienie (po id )  kontaktów jakie były do tej firmy przypisane przez kontroler wykonanych kontaktów coś w stylu:

$this->set('efektKontaktu',$this->EfektKontaktu->find('all', array('conditions'=>array('`EfektKontaktu`.`company_id`'=>$id), 'contain'=>true)));

te 'efektKontaktu' musisz pozmieniać odpowiednio do nazw kontrolera i tablicy w bazie, jeśli

pamiętaj o standardach nazewnictwa to będzie działało. ;)

pzdr

Ostatnio edytowane 24.01.2011 przez Artur Kulikowski. Powód: pogrubienia
cytuj pomógł zgłoś nadużycie
odpowiedz
REKLAMA
Nasze serwisy:
elektrykapradnietyka.com
przegladelektryczny.pl
rynekelektroniki.pl
automatykairobotyka.pl
budowainfo.pl