Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [ZendFramework][ZF2] Doctrine 2 generowanie Entites z DB
netvalue
post
Post #1





Grupa: Zarejestrowani
Postów: 199
Pomógł: 2
Dołączył: 9.06.2008

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


Cześć

Po przez doctrine-module orm:conver-mapping -from data-base , próbuje wygenerowac Entites ale otrzymuje blad

  1. Table category_product has no primary key.


moje tabel sql:
  1. CREATE TABLE IF NOT EXISTS `category_product` (
  2. `id_category` int(11) NOT NULL,
  3. `id_product` int(11) NOT NULL
  4. ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
  5.  
  6. CREATE TABLE IF NOT EXISTS `product` (
  7. `id_product` int(11) NOT NULL AUTO_INCREMENT,
  8. `name` varchar(255) CHARACTER SET utf8 NOT NULL,
  9. PRIMARY KEY (`id_product`),
  10. KEY `product_name` (`name`)
  11. ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;



Niestety nie moge ustawić primary key w tabeli category_product poniewaz sa tam rekordy np:

id_category | id_product
2 | 3
2 | 4
10| 3


Co moge zrobic w takim przypadku ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
kosmos
post
Post #2





Grupa: Zarejestrowani
Postów: 367
Pomógł: 17
Dołączył: 4.03.2008

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


Mógłbyś tu zamieścić schemat relacyjny swojej bazy danych?
Ciężko mi zgadnąć o co konkretnie Ci chodzi, co chcesz osiągnąć (IMG:style_emoticons/default/smile.gif)
To co podałem powyżej nie jest "najładniejszym" rozwiązaniem jeśli chodzi o zasady projektowania.

Póki co masz tabelę
1. produkt
2. kategorie produktów
3. funkcja produktu

produkt ma swoje kategorie czyli np. buty X zaliczymy do butów sportowych a buty Y do butów galowych, ale do butów galowych możemy zaliczyć też buty Z i P

Produkt ma swoje funkcje czyli, buty A będą do biegania, ale też do wspinania. Jednak zastosowanie butów do biegania mogą mieć też buty B i G

Sugerując się powyższym przykładem pomiędzy tymi tabelami będą relacje n:n a więc potrzebne są tabele pośrednie.

Musisz poczytać o relacjach pomiędzy tabelami, o postaciach normalnych, pozyskać podstawową wiedzę. Nie można się zabierać za pisanie apliacji bazodanowej nie znając zasad projektowania BD.

Wszystko zależy co chcesz osiągnąć, na podstawie założeń tworzysz model a następnie programujesz. Nigdy w odwrotnej kolejności.

Jeśli się mylę co do mojego stwierdzenia to przepraszam, ale sądząc po pytaniach odniosłem wrażenie, że taka wiedza jest Ci potrzeba.

Ten post edytował kosmos 22.08.2014, 09:47:10
Go to the top of the page
+Quote Post

Posty w temacie


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: 12.10.2025 - 20:04