protected function getHasMany($key) { $db = Database::getDatabase(); $data = Orm_Object::$_data[$this->className][strtolower($key)]; $tmp_obj = new $data['fc'](); if ($data['joined']) { $join_table = $this->joinTable($this->tableName, $tmp_obj->tableName); $data_b = Orm_Object::$_data[$tmp_obj->className][strtolower($this->className . 's')]; $sql = "SELECT b.*, ab.* FROM `{$join_table}` ab LEFT JOIN `{$tmp_obj->tableName}` b ON ab.{$data_b['fk']} = b.{$data_b['pk']} WHERE ab.{$data['fk']} = " . $db->quote($this->{$data['pk']}); return Db_Object::glob($data['fc'], $sql); } else { if (isset($data['sort'])) { $sorter = " SORT BY `{$data['sort']}` "; } else { $sorter = ''; } $sql = "SELECT * FROM `{$tmp_obj->tableName}` WHERE `{$data['fk']}` = " . $db->quote($this->id) . $sorter; return Db_Object::glob($data['fc'], $sql); } }