I'm so confused still... so you want a list of all records that are false... but not the ones that are false? Huh?
Mark On Thu, Aug 27, 2009 at 1:08 AM, Jim Rising <[email protected]> wrote: > The only workaround that i've found for this is to set all of my boolean > fields to varchar. if i do this and the request does not contain > loginRequired, it does not seem to be included in transfer's where clause, > thereby returning all of the true and all of the false records. > > -- > Jim Rising > Serial Entrepreneur > Software Engineer > Web Developer > > "Knowledge work requires both autonomy and accountability." > > On Wed, Aug 26, 2009 at 10:02 AM, Jim Rising <[email protected]>wrote: > >> it seems that even if i do not pass my loginRequired in as part of the >> request, it still finds it's way into transfer's where clause with the >> default of 'false': >> >> 'select name, description, loginRequired, apiEventID from apievents where >> loginRequired = false' >> >> the problem seems to be that because arguments.apiEvent.getLoginRequired() >> is already set as 'false', loginRequired always evaluates as GT "", and gets >> passed into my map. If I change it to anything else via configure() other >> than true or false, it is no longer boolean and throws a type error (makes >> sense). i have handled this with other data types by checking for the >> default value, but the nature of bit values seems to create a paradox where >> i can't just obtain a list of true and false records. :) >> >> ultimately what i'm wanting is that if there is nothing passed into the >> request scope for 'loginRequired', i don't want it included in the map for >> listByPropertyMap. >> >> Here is the relavent portion of my manager: >> >> <cffunction name="getByAttributesRelated" access="public" >> returntype="any"> >> <cfargument name="apiEvent" type="transfer.com.transferObject" >> required="true"> >> <cfargument name="sortBy" type="string" required="false" >> default="userID"> >> <cfargument name="orderAsc" type="string" required="false" >> default="true"> >> >> <cfset var apiEventID = arguments.apiEvent.getApiEventID()> >> <cfset var name = arguments.apiEvent.getName()> >> <cfset var description = arguments.apiEvent.getDescription()> >> <cfset var loginRequired = arguments.apiEvent.getLoginRequired()> >> >> <cfscript> >> map = StructNew(); >> if(apiEventID GT "" and apiEventID NEQ 0) >> { >> map.apiEventID = apiEventID; >> } >> if(name GT "") >> { >> map.name = name; >> } >> if(description GT "") >> { >> map.description = description; >> } >> if(loginRequired GT "") >> { >> map.loginRequired = loginRequired; >> } >> >> >> // get a query of the users that match this map >> apiEvents = transfer.listByPropertyMap("apiEvent.ApiEvent", map, >> "#arguments.sortBy#", #arguments.orderASC#); >> >> >> Thanks for the help! >> >> -- >> Jim Rising >> Serial Entrepreneur >> Software Engineer >> Web Developer >> >> "Knowledge work requires both autonomy and accountability." >> >> On Tue, Aug 25, 2009 at 4:27 PM, Mark Mandel <[email protected]>wrote: >> >>> Jim, I'm trying to follow you here... >>> >>> On Wed, Aug 26, 2009 at 6:41 AM, Jim Rising <[email protected]>wrote: >>> >>>> just curious if anyone has ever run into any issues with transfer >>>> creating default values for boolean? >>> >>> >>> Transfer default boolean values to false, yes. You can override this in a >>> configure() method. >>> >>> >>>> what i'm doing, is building a transfer object out of an event into a >>>> coldbox handler called 'apiEvent.getByAttributes', and then passing these >>>> into a manager i've built called 'apiEvent.getByAttributes'... one of the >>>> properties is 'loginRequired', which in mySQL is a tinyInt, and in my >>>> transfer config is a boolean. when i instatiate the apiEvent transfer >>>> object >>>> out of the event scope data (request), and there is no >>>> event.getValue("loginRequired"), the getLoginRequired() from transfer >>>> defaults to 'false'. >>> >>> >>> Is this a problem? What would you like it to default to (in your >>> application context)? >>> >>> >>>> the problem that i am trying to resolve is simply that i would like to >>>> retrieve via listByPropertyMap (in the manager) a list of ALL of my >>>> apiEvents (irrespective of loginRequired) but also still be able to >>>> retrieve >>>> apiEvents with loginRequired explicitly declared true or false. it seems >>>> that i can only retrieve true or false, but not both because transfer >>>> defaults to false. i get why it's doing it, and i've worked around it with >>>> other field types... but have not figured out a way to deal with boolean. >>> >>> >>> This is where you lose me. Maybe if you provide an example of what you >>> are trying to do? >>> >>> Mark >>> >>> -- >>> E: [email protected] >>> T: http://www.twitter.com/neurotic >>> W: www.compoundtheory.com >>> >>> >>> >>> >> >> >> >> > > > > > > -- E: [email protected] T: http://www.twitter.com/neurotic W: www.compoundtheory.com --~--~---------~--~----~------------~-------~--~----~ Before posting questions to the group please read: http://groups.google.com/group/transfer-dev/web/how-to-ask-support-questions-on-transfer You received this message because you are subscribed to the Google Groups "transfer-dev" 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/transfer-dev?hl=en -~----------~----~----~----~------~----~------~--~---
