Hi Gareth,

All makes sense - bit surprised retrieveByPk doesn't do this which is
I guess where my question came from.

Appreciate you taking the time to share your experience and approach.

Thanks,

Paul



On Apr 23, 7:10 pm, Gareth McCumskey <gmccums...@gmail.com> wrote:
> My simple guess is that module/action/id tells symfony that id is a
> parameter with its own value defaulted to false (kinda just to show it
> exists) whereas module/action/id/ tell symfony that id is a parameter
> and there is a value of "" for it (because nothing follows the
> trailing slash.
>
> In short, module/action/id means id exists (therefore === true) and
> module/action/id/ means id has a value of "". Makes sense to me to be
> honest. The better check to do might be to see if id has a value
> before adding it to the URL as a GET parameter.
>
> As for checking if id === true, I normally do a check for parameter
> existing anyways in my actions before I attempt to use it, so you can
> do this:
>
> if ($request->hasParameter('id') && $request->getParameter('id') !== true)
> {
>
> }
>
> Hope that helps
>
>
>
> On Fri, Apr 23, 2010 at 12:58 PM, Tofuwarrior <p...@clearintent.co.uk> wrote:
> > Hi gareth,
>
> > Thanks for replying (again!)
>
> > I understand about the difference between == and === and that that
> > must be what is causing retrieveByPK  to return this but what I don't
> > get is why id is being set to true when there is no value being passed
> > in the url so I guess my question is about routing AND/OR
> > why retrieveByPK is not doing === when to me true and 1 are clearly
> > not the same PK.
> > I would like to understand why retrieveByPK takes this approach. I am
> > guessing that mysql does the == bit but why not filter this kind of
> > thing out if propel knows that the column is an int which it does.
>
> >  I guess, I am also wondering if I can do about this other than doing
> > my own test for id===true prior to calling the retrievByPK which seems
> > a bit messy.
>
> > Cheers,
>
> > Paul
>
> > Sure, I understand that but
>
> > On Apr 23, 10:31 am, Gareth McCumskey <gmccums...@gmail.com> wrote:
> >> Look at this piece of code:
>
> >> $a = 1;
> >> $b = 0;
>
> >> if ($a == true) echo "I am true"
> >> if ($b == false) echo "I am false"
>
> >> results in "I am true" and "I am false" both being echoed.
>
> >> However:
> >> if ($a === true) echo "I am true"
> >> if ($b === false) echo "I am false"
>
> >> does not
>
> >> On Fri, Apr 23, 2010 at 11:15 AM, Tofuwarrior <p...@clearintent.co.uk> 
> >> wrote:
> >> > Hi all,
>
> >> > I guess this is simple lack of understanding but it is a bit peculiar.
> >> > Any insights, answers pointers to further readng gratefully received.
>
> >> > I haven't found any answers in the docs anywhere.
>
> >> > In my app,
>
> >> > this
> >> > .com/folder/tree/id      creates request variable id=boolean(true)
> >> > whereas this
> >> > .com/folder/tree/id/     creates request variable id=empty string
>
> >> > I am doing retrievebyPK($request->getParameter('id')) and  the version
> >> > that returns true means that this retrieves the record with PK ==1
> >> > which i absolutely don't want.
>
> >> > Any idea what i am doing wrong? I figure it must be to do with routing
> >> > or is there an error with retrieveByPK - should it know the diff
> >> > between true and 1, I guess it evaluates to the same but should it
> >> > really work like that?
>
> >> > My routing is the default stuff as follows, I have other rules but
> >> > nothing relevant to folder
> >> > default_index:
> >> >  url:   /:module
> >> >  param: { action: index }
>
> >> > default:
> >> >  url:   /:module/:action/*
>
> >> > Thanks,
>
> >> > TW
>
> >> > --
> >> > If you want to report a vulnerability issue on symfony, please send it 
> >> > to security at symfony-project.com
>
> >> > You received this message because you are subscribed to the Google
> >> > Groups "symfony users" group.
> >> > To post to this group, send email to symfony-users@googlegroups.com
> >> > To unsubscribe from this group, send email to
> >> > symfony-users+unsubscr...@googlegroups.com
> >> > For more options, visit this group at
> >> >http://groups.google.com/group/symfony-users?hl=en
>
> >> --
> >> Gareth McCumskeyhttp://garethmccumskey.blogspot.com
> >> twitter: @garethmcc
>
> >> --
> >> If you want to report a vulnerability issue on symfony, please send it to 
> >> security at symfony-project.com
>
> >> You received this message because you are subscribed to the Google
> >> Groups "symfony users" group.
> >> To post to this group, send email to symfony-users@googlegroups.com
> >> To unsubscribe from this group, send email to
> >> symfony-users+unsubscr...@googlegroups.com
> >> For more options, visit this group 
> >> athttp://groups.google.com/group/symfony-users?hl=en
>
> > --
> > If you want to report a vulnerability issue on symfony, please send it to 
> > security at symfony-project.com
>
> > You received this message because you are subscribed to the Google
> > Groups "symfony users" group.
> > To post to this group, send email to symfony-users@googlegroups.com
> > To unsubscribe from this group, send email to
> > symfony-users+unsubscr...@googlegroups.com
> > For more options, visit this group at
> >http://groups.google.com/group/symfony-users?hl=en
>
> --
> Gareth McCumskeyhttp://garethmccumskey.blogspot.com
> twitter: @garethmcc
>
> --
> If you want to report a vulnerability issue on symfony, please send it to 
> security at symfony-project.com
>
> You received this message because you are subscribed to the Google
> Groups "symfony users" group.
> To post to this group, send email to symfony-users@googlegroups.com
> To unsubscribe from this group, send email to
> symfony-users+unsubscr...@googlegroups.com
> For more options, visit this group 
> athttp://groups.google.com/group/symfony-users?hl=en

-- 
If you want to report a vulnerability issue on symfony, please send it to 
security at symfony-project.com

You received this message because you are subscribed to the Google
Groups "symfony users" group.
To post to this group, send email to symfony-users@googlegroups.com
To unsubscribe from this group, send email to
symfony-users+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/symfony-users?hl=en

Reply via email to