Ejemplo n.º 1
0
 public static function getManyToOneMembersAndValues($instance)
 {
     $ret = array();
     $class = get_class($instance);
     $members = Reflexion::getMembersWithAnnotation($class, "ManyToOne");
     foreach ($members as $member) {
         $annot = OrmUtils::getJoinColumn($class, $member->getName());
         $memberAccessor = "get" . ucfirst($member->getName());
         if (method_exists($instance, $memberAccessor)) {
             $memberInstance = $instance->{$memberAccessor}();
             if (isset($memberInstance)) {
                 $keyValues = OrmUtils::getKeyFieldsAndValues($memberInstance);
                 if (sizeof($keyValues) > 0) {
                     $ret[$annot->name] = reset($keyValues);
                 }
             }
         }
     }
     return $ret;
 }