BITTE NICHT AUF DIESE NACHRICHT ANTWORTEN. NACHRICHTEN AN DIESE
E-MAIL-ADRESSE WERDEN NICHT GELESEN.
Ticket-URL: https://bugs.horde.org/ticket/14818
------------------------------------------------------------------------------
Ticket | 14818
Erstellt Von | [email protected]
Zusammenfassung | Rdo access problem in ONE_TO_ONE relationship
Warteschlange | Horde Framework Packages
Typ | Bug
Status | Unconfirmed
Priorität | 1. Low
Milestone |
Patch | 1
Zuständige |
------------------------------------------------------------------------------
[email protected] (2018-05-23 09:42) hat geschrieben:
When using a ONE_TO_ONE relationship in Rdo I could not access a
related data field. I tracked the problem down to Base.php, function
__get(). Consider lines 122 to 136 where a SQL search for the attached
record is conducted:
switch ($rel['type']) {
case Horde_Rdo::ONE_TO_ONE:
case Horde_Rdo::MANY_TO_ONE:
if (isset($rel['query'])) {
$query = $this->_fillPlaceholders($rel['query']);
$this->_fields[$field] = $m->findOne($query);
} elseif (!empty($this->{$rel['foreignKey']})) {
//$this->_fields[$field] =
$m->findOne($this->{$rel['foreignKey']});
$this->_fields[$field] =
$m->findOne(array($rel['foreignKey'] => $this->{$rel['foreignKey']}));
if (empty($this->_fields[$field])) {
throw new Horde_Rdo_Exception('The referenced
object with key ' . $this->{$rel['foreignKey']} . ' does not exist.
Your data is inconsistent');
}
} else {
$this->_fields[$field] = null;
}
break;
For unknown reasons everything works for a MANY_TO_ONE relationship,
using the same code.
Anyway, I used the available information to define a more specific
search in line 129:
$this->_fields[$field] = $m->findOne(array($rel['foreignKey'] =>
$this->{$rel['foreignKey']}));
and this made it work for all types of relationship.
--
bugs mailing list
Frequently Asked Questions: http://wiki.horde.org/FAQ
To unsubscribe, mail: [email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.