/** * get Objects by conditions * @param array $data * @param boolean $all * @param string $order * @param string $limit * @return array|boolean */ public static function getBy($data, $all = true, $order = '', $limit = '') { // get class name $class = get_called_class(); // set statement $statement = new Database(SQL::select($class::columns, $class::table, implode($all ? ' AND ' : ' OR ', array_map(function ($key) { return $key . '=:' . $key; }, array_keys($data))), $order, $limit), SQL::buildIns(new Object($data), array_keys($data))); // return fetch return $statement->fetchAllClass($class); }