Wyświetlanie danych z tablic bez wzajemnej relacji w jednym widoku - PHP
Mouser Electronics Poland   Przedstawicielstwo Handlowe Paweł Rutkowski   PCBWay  

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
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