DbFinderPlugin - 1.1.0

The `DbFinder` is a symfony plugin that provides an easy API for finding Model objects, whether the underlying ORM is Propel or Doctrine.

You are currently browsing
the website for symfony 1

Visit the Symfony2 website

« Back to the Plugins Home


Forgot your password?
Create an account



advanced search
Information Readme Releases Changelog Contribute

Changelog for release 1.1.0 - 01/12/2008

  • francois: Made the admin generator theme compatible with Propel 1.3. Now DbFinder allows full compatibility between Propel 1.2, Propel 1.3, and Doctrine.
  • francois: Fixed issue with setFlash() in admin generator theme (sf 1.1 compatibility)
  • francois: Fixed issue with two left joins, two with(), and missing objects in sfPropelFinder

Other releases

Release 1.2.2 - 23/04/2009

  • francois: Made sfPropelFinder::with() work with one-to-one relationships and Propel 1.3 (patch from ivanrey)
  • francois: Fixed a bug in DbFinderObjectRoute and DbFinderObjectsRoute caching
  • francois: Fixed a warning in DbFinderObjectRoute::generate()
  • francois: Fixed a bug in order param case in DbFinderRoute

Release 1.2.1 - 17/04/2009

  • Enhancements:
  • Scalar queries: DbFinder::select() allows a finder to return an array of column values instead of a model object.
  • Join Aliases: DbFinder::join() now supports relations aliases, allowing for conditions on self-referenced foreign keys and multiple foreign keys to the same table
  • Test methods: DbFinder::_if(), DbFinder::_endif(), DbFinder::_else(), and DbFinder::_elseif() allow to apply finder methods under specific conditions without breaking the "flow" of method calls.
  • Complex conditions: DbFinder::whereCustom() offers the ability to add a condition on a calculation, with automated escaping of the values injected in the query
  • Filters: sfModelFinder::filterBy() and sfModelFinder::filter() methods offer a fast and standard way to apply conditions to a finder
  • Routing: Added three new classes to offer extended Model Routing capabilities
  • Generator: Added the ability to add helpers in the generator.yml, Added the ability to link to another module in the admin generator theme
  • Performance boost in sfPropelFinder::with()
  • Simplified the use of 'is null' and 'is not null' as where() operators
  • Added the ability to add new adapters (for arrays, web services, BigTable and the likes)
  • Bug Fixes:
  • Fixed sfPropelFinder::useCache() on queries using withColumn()
  • Fixed a reference to Criteria outside the Propel adapter
  • Fixed a bug in sfDoctrineFinder when using named conditions with a null value (patch from Maksymus007)
  • Fixed an issue with filters on boolean fields in admin generator

Release 1.1.0 - 01/12/2008

  • francois: Made the admin generator theme compatible with Propel 1.3. Now DbFinder allows full compatibility between Propel 1.2, Propel 1.3, and Doctrine.
  • francois: Fixed issue with setFlash() in admin generator theme (sf 1.1 compatibility)
  • francois: Fixed issue with two left joins, two with(), and missing objects in sfPropelFinder

Release 1.0.0 - 17/11/2008

  • francois: Fixed generator theme to allow full sf 1.1 compatibility (with sf_compat_10 on)
  • francois: Using Peer::getI18nModel() to retrieve related i18n class when available (i.e., with Propel 1.3)
  • francois: Added the ability to call useCache(true) to let DbFinder choose a caching backend. Works for both Propel and Doctrine adapters.
  • francois: Fixed problem with null foreign keys in admin generator theme
  • francois: Added caching for find() and count() queries
  • francois: Fixed problem with decimal numbers in withColumn() expressions
  • francois: Fixed Doctrine adapter to be compatible with Doctrine 1.0

WARNING: sfDoctrinePlugin has reverted from Doctrine 1.0 to Doctrine 0.11, so the Doctrine adapter for DbFinder is currently broken

  • francois: Fixed DbFinder::withColumn() on calculated columns with Doctrine adapter (thanks jwage)
  • francois: Added DbFinder::initialize() to allow for custom finder extension
  • francois: Fixed DbFinder::fromCollection() didn't return a custom finder instance when applicable
  • francois: Fixed PHP 5.3 compatibility problem on sfModelFinder::__toString()
  • francois: Fixed custom generator compatibility problem with symfony 1.1
  • francois: Added 'sort_method' option for foreign key fields and custom fields to be sortable, too
  • francois: Added 'batch_actions' option in the 'list' view of the admin generator
  • francois: The 'with' and the 'finder_methods' parameters are now also supported in the 'edit' view of the generator theme.
  • francois: Changed the generator to auto-add a wildcard on string filters
  • francois: Fixed problem with join() called multiple times on the same table in sfPropelFinder
  • francois: Fixed problem with delete() on tables with a bigint primary key
  • francois: Fixed problem with sfPropelFinder::addJoin() not being passed to the Criteria object

Release 0.9.0 - 28/08/2008

  • Doctrine adapter is now complete
  • francois: Implemented sfDoctrineFinder::withI18n()
  • francois: Reorganized files into adapter folders
  • francois: Implemented sfDoctrineFinder::set()
  • francois: Implemented sfDoctrineFinder::paginate() and sfDoctrineFinderPager
  • francois: Break withColumn() now accepts normal CamelCase syntax for calculated columns (count(Comment.Id) instead of count(comment.ID))
  • francois: Implemented sfDoctrineFinder::withColumn(), partially implemented getColumn() getter (currently limited by Doctrine capabilities)
  • francois: Implemented sfDoctrineFinder::groupBy() and sfDoctrineFinder::groupByClass()
  • francois: Implemented sfDoctrineFinder::with()
  • francois: Implemented sfDoctrineFinder::join()
  • francois: Added getQueryObject() to the list of default methods
  • francois: Implemented sfDoctrineFinder::orderBy()
  • francois: Moved magic __call() to the parent sfModelFinder class
  • francois: Implemented sfDoctrineFinder::relatedTo() (and fixed a bug in the sfPropelFinder::relatedTo() implementation)

Release 0.4.0 - 12/08/2008

  • francois: Renamed the plugin to DbFinder
  • francois: Added finder_methods parameter in generator.yml
  • francois: Implemented not in comparison in sfDoctrineFinder::where()
  • francois: Implemented limit() and offset() in both sfPropelFinder and sfDoctrineFinder
  • francois: sfPropelFinder::join() now defaults to an INNER JOIN instead of a WHERE statement (will facilitate compatibility with Doctrine)
  • francois: Implemented sfDoctrineFinder::combine()
  • francois: Implemented sfDoctrineFinder::orWhere()
  • francois: Break Removed _and() (synonym for where()) and renamed _or() to orWhere()
  • mrhyde: Fixed problem with sfPropelFinder, symfony cache, and Propel 1.3
  • francois: Refactored DbFinder to allow agnostic finders on model objects to extend it, and to fix problem with lacking PHPDoc on DbFinder methods
  • francois: Added abstract sfModelFinder class to keep all abstract methods out of DbFinder
  • francois: Implemented sfDoctrineFinder::delete()
  • francois: Turned README into Markdown syntax, and changed the main name to DbFinder
  • francois: DbFinder::from('Article') returns an instance of ArticleFinder if it exists. That way, extending the finder gets easier.
  • francois: Added more phpdoc to sfPropelFinder and sfDoctrineFinder
  • mrhyde: Fixed issue when calling several termination methods on a finder
  • francois: Implemented sfDoctrineFinder::count()
  • francois: Break Replaced sfPropelFinder::setPeerClass() by sfPropelFinder::setClass() (will break classes extending sfPropelFinder)
  • francois: Refactored connection management, query reinitialization, and simplified executers signature
  • francois: Implemented sfDoctrineFinder::fromArray(), and sfDoctrineFinder::getLatestQuery()
  • francois: Added DbFinderAdminGenerator (WIP)
  • francois: Fixed problem with join() and with() when called by children of sfPropelPager
  • windock: Fixed problem with paginate() when called by children of sfPropelPager
  • mrhyde: Added sfPropelFinder::groupByClass() to ease PostgreSQL grouping
  • francois: Fixed problem with table alias and PostgreSQL (based on a patch by mrhyde)
  • mrhyde: Fixed problem with group by clauses being ripped off by pager
  • francois: Implemented DbFinder::toArray(), DbFinder::__toString() and DbFinder::toHtml()
  • francois: Implemented sfDoctrineFinder::findBy(), findOneBy(), findPk(), and initialized where()
  • francois: Added preliminary support for table aliases (from('Article a')) in Doctrine and Propel finders
  • francois: Implemented sfDoctrineFinder::findOne(), findFirst(), findLast() and orderBy()
  • francois: Initialized DbFinder and sfDoctrineFinder (WIP)