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




Reply via email to