Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [Doctrine] unique key
Animax
post 24.06.2012, 17:09:36
Post #1





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 25.12.2011

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


Nie wiem jak połączyć doctrine z unique key'em.

Tabela wygląda tak:
  1. CREATE TABLE IF NOT EXISTS `player_items` (
  2. `player_id` int(11) NOT NULL DEFAULT '0',
  3. `pid` int(11) NOT NULL DEFAULT '0',
  4. `sid` int(11) NOT NULL DEFAULT '0',
  5. `itemtype` int(11) NOT NULL DEFAULT '0',
  6. `count` int(11) NOT NULL DEFAULT '0',
  7. `attributes` blob NOT NULL,
  8. UNIQUE KEY `player_id_2` (`player_id`,`sid`),
  9. KEY `player_id` (`player_id`)
  10. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;


Próbowałem tak:
  1. /**
  2.   * @Id
  3.   * @Column(unique=true)
  4.   * @Column(type="integer")
  5.   * @Column(name="player_id_2")
  6.   */
  7. private $player_id_2;


No, ale jak widać bezskutecznie, ktoś wie jak to ma wyglądać?
Go to the top of the page
+Quote Post
Crozin
post 24.06.2012, 17:17:05
Post #2





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


1. Różne parametry dla adnotacji podaje się po przecinku, a nie powielając deklarację całej adnotacji.
2. Jeżeli indeks ma być złożony z dwóch lub więcej kolumn, powinieneś zadeklarować go na poziomie bloku klasy, nie właściwości:
  1. /**
  2.  * @Unique(name = "index_name", columns = { 'col_name_a', 'col_name_2' })
  3.  */
  4. class MyEntity {
  5.  
  6. }
Go to the top of the page
+Quote Post
Animax
post 24.06.2012, 17:31:26
Post #3





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 25.12.2011

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


Okej dzięki, tylko teraz jest błąd, ze brakiem identyfikatora. Czym on ma być?
Go to the top of the page
+Quote Post
Crozin
post 24.06.2012, 17:36:28
Post #4





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


Każda encja musi mieć zadeklarowany identyfikator (@Id). Jeżeli identyfikator ma być złożony z więcej niż jednej kolumny, po prostu do każdej z nich dodaj adnotację @Id, Doctrine sam utworzy klucz główny na wszyszystkich kolumnach.
Go to the top of the page
+Quote Post
Animax
post 24.06.2012, 17:42:25
Post #5





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 25.12.2011

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


Wszystko działa, dzięki za pomoc; )
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 12.07.2025 - 18:50