public function paramFind() { // Надо определить параметры основные и дополнительные // затем исполльзую SQL запросом найти все записи из таблицы CatalogItems $paramsTable = $_POST["paramsTable"]; $paramsTable = str_replace("'", "", $paramsTable); //$paramsTable = mysql_real_escape_string( $paramsTable ); $paramsModel = new $paramsTable(); $sql = "SELECT i.* FROM catalog_items i, " . $paramsModel->tableName() . " p WHERE i.id = p.item_id "; foreach ($_POST as $key => $value) { if (!is_array($value)) { if (property_exists("CatalogItems", $key) && !empty($value)) { $value = str_replace("'", "", $value); //$value = mysql_real_escape_string( $value ); if (!empty($sql)) { $sql .= " AND "; } $sql .= " i.`" . $key . "`='" . $value . "' "; } } else { foreach ($value as $key2 => $value2) { if (property_exists($paramsTable, $key2) && !empty($value2)) { if (!empty($sql)) { $sql .= " AND "; } $sql .= " p.`" . $key2 . "`='" . $value2 . "' "; } } } } $items = CatalogItems::sql($sql); $itemsModels = array(); for ($i = 0; $i < sizeof($items); $i++) { if ($items[$i]["id"] == 0) { continue; } $newObject = new CatalogItems(); $itemsModels[] = $newObject->setAttributesFromArray($items[$i]); } $this->render("params", array("items" => $itemsModels)); }