только что пришла в голову идея, и сразу решил предложить на критику здесь
возьмем классический пример с продуктами и их параметрами
допустим нас устраивает что параметров специфических типу продукта будет до 15.
что если создать в таблице 15 полей extra1, extra2, ... extra15
а уже в бизнес-логике реализовать согласованность полей бд к свойствам обьекта.
public function getProducts() {
$items = query ( ..... );
foreach($items as $item) {
switch($item->type) {
case "tv":
$product = new Product();
$product->matrix = $item['extra1'];
$product->remoteControl = $item['extra2'];
.................
break;
case "dvd":
$product = new Product();
$product->format = $item['extra1'];
$product->voltage = $item['extra2'];
.................
break;
}
}
}
ну и реализовать поиски по аналогии, т.е. если ищем морозильную камеру с 5ю ящиками, знач описываем что надо искать запись где extra12=5