Re: toArray was DB_DataObjects and generating search filters
| From: | Laszlo Hermann | Date: | Fri, 22 Apr 2005 06:14:19 +0000 |
| Subject: | Re: toArray was DB_DataObjects and generating search filters | ||
| References: | 1 2 3 4 5 | Groups: | php.pear.general |
| Request: | Send a blank email to pear-general+get-18907@lists.php.net to get a copy of this message | ||
I've added the following function to my DB_DataObject:
function toArrayList ()
{
$list = array();
while ($this->fetch()) {
$list[] = $this;
}
return $list;
}
This is pretty useful for me. In the program I just write
$person = DB_DataObject::factory('person');
$query = "SELECT ... foo ... bar...";
$person->query($query);
$smartyRenderer->setAttribute('persons', $person->toArrayList());
So first you build the dataobject, write the find / get / query, then
just call toArrayList() then you have a list of the DOs. This works
for very well for me; however, I would appreciate if the original
DB_DataObject would have this, written in a more professional way.
Laszlo.
On 4/22/05, Justin Patrin <papercrane@gmail.com> wrote:
> On 4/21/05, Dan Rossi <pear@electroteque.org> wrote:
> >
> > On 22/04/2005, at 2:56 AM, Justin Patrin wrote:
> >
> > > On 4/20/05, pear@electroteque.org <pear@electroteque.org> wrote:
> > >> Ok this is how i currently have to setup a method to return an array
> > >> for
> > >> list menus as u can see the code is duplicating. toArray returns keys
> > >> as
> > >> 0,1,2,3,4,5,6,7 etc ...
> > >>
> > >> keys need to be the primary keys :|
> > >>
> > >> function getDepartments()
> > >> {
> > >> $this->orderBy('department');
> > >> $this->find();
> > >> $arr = array();
> > >> $arr[''] = "";
> > >> while ($this->fetch()) {
> > >> $arr[$this->departmentID] = $this->department;
> > >> }
> > >> return $arr;
> > >> }
> > >>
> > >
> > > Did you have a question?
> > >
> > > --
> > >
> >
> > LOL yes , is there a more formulated way already without having to
> > duplicate code ?
> >
>
> Well...I'm not sure what you're asking here. toArray() returns an
> assoc array of the current record, not a list of records... and it
> certainly doesn't have numbered indexes.
>
> Which code are you supposedly duplicating?
>
> --
> Justin Patrin
>
> --
> PEAR General Mailing List (http://pear.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>