示例#1
0
 function _parse_find_by($fields, $arguments)
 {
     # split fields and create conditions
     $fields = explode("_and_", $fields);
     $conditions = array();
     foreach ($fields as $field) {
         $arg = array_shift($arguments);
         if (is_array($arg)) {
             $conditions[] = array("{$field} IN (?)", $arg);
         } else {
             $conditions[] = array("{$field} = ?", $arg);
         }
     }
     # prepare arguments array to contain array conditions
     if (!isset($arguments["conditions"])) {
         $arguments["conditions"] = array();
     }
     if (!is_array($arguments["conditions"])) {
         $arguments["conditions"] = array($arguments["conditions"]);
     }
     # merge parsed conditions and call native finder
     $arguments = array_merge_recursive($arguments, array("conditions" => $conditions));
     return AdoDBRecord_Base::find($arguments);
 }
示例#2
0
 function &find_all($arguments)
 {
     array_unshift($arguments, "all");
     return AdoDBRecord_Base::find($arguments);
 }