Hey guys,

Figured it out. On Flex side:

var public minList:Ministry
minList = event.result as Ministry

on CFC side:

<cffunction name="getDept" output="false" access="remote"
returntype="backstage.connect.com.services.Ministry">

<cfquery name="qRead" datasource="#application.dsn#">
                        SELECT
                                ministryID,
                                name,
                                
                                leader
                                
                        FROM connectionInfo
                        WHERE departmentID = <cfqueryparam 
cfsqltype="cf_sql_integer"  
value="#ARGUMENTS.departmentID#">
                </cfquery>

<cfset var obj=
createObject("component","backstage.connect.com.services.Ministry")>

<cfscript>
                                obj.ministryID = qRead.ministryID;
                                obj.name = qRead.name;
                                obj.leader = qRead.leader;
                                obj.description = qRead.description
</cfscript>
                
                <cfreturn obj>
        </cffunction>

I would still like to use structs instead, _type_ notation; however, when I
do this, it doesn't work. Anyone know how?



hoz wrote:
> 
> Hey guys,
> 
> I understand how to convert an array from my cfc into an array  
> collection, populate a datagrid, and cast a selected Item to a VO. My  
> problem is if I'm returning just 1 DB record and want to convert to a  
> VO, so I can bind to a form (in other words, skip the populating a  
> datagrid with AC part), how do I do this?
> 
> I thought I could do something like this:
> 
> [Bindable] public var ministry:Ministry;
> 
> ministry = event.result as Ministry;
> 
> or
> 
> var minList:Array = event.result as Array;
> ministryList = new ArrayCollection(minList);
> ministry = new Ministry();
> ministry = ministryList.getItemAt(0) as Ministry;
> 
> I'm sure it's something simple I'm missing. Below is my cfc
> 
> <cffunction name="getDept" output="false" access="remote"  
> returntype="array">
>       <cfargument name="departmentID" type="numeric" required="yes">
>               
>               <cfset var qRead="">
>               <cfset var ret=arrayNew(1)>
> 
>               <cfquery name="qRead" datasource="#application.dsn#">
>                       SELECT
>                               ministryID,
>                               name,
>                               
>                               leader
>                               
>                       FROM connectionInfo
>                       WHERE departmentID = <cfqueryparam 
> cfsqltype="cf_sql_integer"  
> value="#ARGUMENTS.departmentID#">
>               </cfquery>
> 
>               <cfloop query="qRead">
>               <cfscript>
>                       stMin = structNew();
>                       stMin["_type_"] = 
> "backstage.connect.com.services.Ministry";
>                       stMin["ministryID"] = qRead.ministryID;
>                       stMin["name"] = qRead.name;
>                       stMin["leader"] = qRead.leader;
>                       
>                       ArrayAppend(ret, duplicate(stMin));
> 
>                       </cfscript>
>               </cfloop>
>               <cfreturn ret>
>       </cffunction>
> 
> Thanks,
> 
> Hoz
> 
> 
> 
> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/cfc-to-VO-pesky-problem-tp23255887p23262975.html
Sent from the FlexCoders mailing list archive at Nabble.com.

Reply via email to