Próbuję utworzyć model dla tabeli, w której nie mogę zmienić nazwy kolumn ze względu na aplikację, która potrzebuje zachowania struktury tabeli w aktualnej formie.
Gii wyrzuca komunikat: Column names that does not follow PHP variable naming convention: urzadzenia.session-timers.
Rozumiem, że ma problem z "przetrawieniem" nazwy jednej z kolumn. Czy jest jakiś sposób aby:
Bez gmerania w Gii raczej ciężko. Generalnie poświęcisz więcej pracy:
albo na modyfikację Gii,
albo na stworzenie nowej tabeli ze zmienionymi nazwami problematycznych kolumn, a resztą taką samą jak w tej potrzebnej, a następnie użycie jej w Gii i zmianę nazwy z powrotem w gotowym modelu,
albo na ręczne dodanie modelu.
Z powyższych opcji wybrałbym ręczne dodanie. Chyba że masz takich tabel milion.
Zważywszy, że z YII zaczynam przygodę to chciałem poznać jakieś pro rozwiązanie. Aktualnie zmieniłem nazwy - bo chodzi tylko o 1 tabelę, jak na ten moment - kolumn problematycznych, utworzyłem model, a następnie usunąłem tabelę i wczytałem ponownie całą z dump’a sql’a.
Pro-rozwiązaniem jest napisanie tego modułu z palca - to wcale nie trwa tak długo, jak już wiesz jak to robić. Gii to tylko ułatwiacz, a nie kompleksowe i jedyne słuszne rozwiązanie do generowania modeli.
Mnie bardziej zastanawia jak ci taki model działa. Nie ma z nim żadnych problemów? Jak odwołujesz się do problematycznej kolumny?
Jeśli musisz walidować i zapisywać dane, to model ma jednak więcej sensu. Ale generalnie najlepsze rozwiązania to te, które działają - jeśli obecnie wszystko jest OK, to ja bym nie kombinował za bardzo, chyba że chcesz się pobawić i potestować. Lepsze jest wrogiem dobrego