Did you try to call the 'addDescendingOrderByColumn()' method directly on
the sfPropelFinder object? I think it should work, removing the need for
your patch...
cheers,
François
2008/6/9 heathd <[EMAIL PROTECTED]>:
>
> Hi,
>
> not sure if this is the correct place to discuss plugins. I just
> started using sfPropelFinderPlugin, which is very useful, thanks
> Francois.
>
> One feature which I needed was the ability to order by complex
> expressions, rather than just column names. This ability is permitted
> by using a round bracket in the column name (see
> BasePeer::createSelectSql()). For example:
>
> $c = new Criteria();
> $c->addDescendingOrderByColumn('(IF person.id < 100, 1, 0)');
>
> of course this example is not a real one, just a simplification to
> help explain.
>
> However, this didn't work with the finder, so I made a patch to allow
> it, which is included at the end of this message.
>
> What do you think? Would it be possible to incorporate this into the
> plugin?
>
> Thanks
>
> David
>
> Index: sfPropelFinder.php
> ===================================================================
> --- sfPropelFinder.php (revision 9503)
> +++ sfPropelFinder.php (working copy)
> @@ -482,7 +482,16 @@
> */
> public function orderBy($columnName, $arguments = array())
> {
> - $column = $this->getColName($columnName);
> + // If the column name contains an open bracket, we assume that it
> + // contains a complex expression rather than a column name. See
> + // BasePeer::createSelectSql() for the origin of this hack.
> + if (strpos($columnName, '(') !== false) {
> + $column = $columnName;
> + }
> + else {
> + $column = $this->getColName($columnName);
> + }
> +
> if(!is_array($arguments))
> {
> $arguments = func_get_args();
>
> >
>
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"symfony developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/symfony-devs?hl=en
-~----------~----~----~----~------~----~------~--~---