Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Generacja CRUD`a z relacjami, edycja
Forum PHP.pl > Forum > PHP
rad11
Witam,

Próbuję sobie stworzyć generator CRUD. I np mam np taka tabele z relacjami :

  1. CREATE TABLE `users` (
  2. `id_user` INT(11) NOT NULL AUTO_INCREMENT,
  3. `role_id` INT(11) NOT NULL DEFAULT '0',
  4. `password` VARCHAR(50) NOT NULL,
  5. `username` VARCHAR(50) NOT NULL,
  6. `created_at` DATETIME NOT NULL,
  7. `updated_at` DATETIME NOT NULL,
  8. `invheader_id` INT(11) NOT NULL,
  9. PRIMARY KEY (`id_user`),
  10. INDEX `invheader_id` (`invheader_id`),
  11. INDEX `FK_users_roles_hasOne` (`role_id`),
  12. CONSTRAINT `FK_users_invheader_hasMany` FOREIGN KEY (`invheader_id`) REFERENCES `invheader` (`id_invheader`),
  13. CONSTRAINT `FK_users_roles_hasOne` FOREIGN KEY (`role_id`) REFERENCES `roles` (`id_role`)
  14. )


Powstaje pytanie czy podczas edycji takiego rekordu w formularzu powinny się zawieć dane do edycji z tabel referencyjnych czy tylko te dane ktore sa w tabeli podstawowej?
nospor
Nie bardzo rozumiem pytanie... Skoro edytujesz uzytkownika, to edytujesz uzytkownika. Mozesz zmienic do ja jakiej nalezy roli, ale nie powininies zmieniac nazwy roli. Nazwe roli zmienisz w edycji roli.
rad11
Ok i tak samo np z tabela invheader tak?
nospor
Nie, tylko roli ci nie wolno edytowac, reszta powiazanych tabel jak najbardziej ma byc edytowana tongue.gif

Tak, tak samo. Jak edytujesz usera to edytujesz usera i tyle. CHyba ze Twoj projekt ma jakies specjalne wymagania i masz edytowac cala reszte.
rad11
No dobra to ze role mozemy zmienic w tabeli users w edycji to jest jasne a co jesli tabela invheader ma taka strukture:

  1. CREATE TABLE `invheader` (
  2. `id_invheader` INT(11) NOT NULL AUTO_INCREMENT,
  3. `invdate` DATETIME NOT NULL,
  4. `amount` DECIMAL(10,2) NOT NULL DEFAULT '0.00',
  5. `tax` DECIMAL(10,2) NOT NULL DEFAULT '0.00',
  6. `total` DECIMAL(10,2) NOT NULL DEFAULT '0.00',
  7. `note` CHAR(100) NULL DEFAULT NULL,
  8. `address_id` INT(11) NOT NULL,
  9. PRIMARY KEY (`id_invheader`),
  10. INDEX `FK_invheader_addresses_hasOne_Country` (`address_id`),
  11. CONSTRAINT `FK_invheader_addresses_hasOne_Country` FOREIGN KEY (`address_id`) REFERENCES `addresses` (`id`)
  12. )
  13.  


to co w edycji uzytkiwnika mam nie tworzyc mozliwosci edycji tych pol?
nospor
Wyswietlasz normalnie liste invheader do wyboru i zmieniasz.
Chyba ze u Ciebie w aplikacji jak tworzysz usera to i od razu tworzysz invheader. Nie wiem, nie widzialem twojej aplikacji ani jej zalozen. A od tego wszystko zalezy tak na dobra sprawe.
rad11
To nie jest zadna aplikacja, poprostu generator CRUD zalozeniem jest to aby zautomatyzowac operacje CRUD dla danej tabeli i nie wiem wlasnie jak to ugrysc.
nospor
No to jak masz jakas relacje to wyswietlasz liste rzeczy z tej innej tabeli i tyle. Nie zmieniasz danych w tej innej tabeli tylko zmieniasz dajesz mozliwosc przypisanego ID.

rad11
Ok to dzieki.
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.