Ve vašem modelu , objekt má 8 booleovských vlastností. To znamená 8 booleovských sloupců (TINYINT pro MySQL) ve vaší databázové tabulce a 8 metod getter/setter ve vašem objektu. Jednoduché a konvenční.
Přehodnoťte svůj současný přístup. Představte si, co bude říkat další chlap, který musí tuto věc udržovat.
CREATE TABLE mytable (myfield BIT(8));
OK, vypadá to, že zde budou probíhat nějaká binární data.
INSERT INTO mytable VALUES (b'00101000');
Počkejte, řekněte mi někdo znovu, co každá z těch 1 a 0 znamená.
SELECT * FROM mytable;
+------------+
| mybitfield |
+------------+
| ( |
+------------+
Co?
SELECT * FROM mytable WHERE myfield & b'00101000' = b'00100000';
WTF!? WTF!?
bodne se do obličeje
-- mezitím v alternativním vesmíru, kde si víly hrají s jednorožci a programátoři nenávidí DBA... --
SELECT * FROM mytable WHERE field3 = 1 AND field5 = 0;
Štěstí a slunce!