Skip to content

Commit b921c9e

Browse files
committed
fix $obj->anotherRelatedObj === null when not exists
1 parent 3c8898c commit b921c9e

File tree

1 file changed

+14
-9
lines changed

1 file changed

+14
-9
lines changed

dbObject.php

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
* @method dbObject ObjectBuilder()
1717
* @method mixed byId (string $id, mixed $fields)
1818
* @method mixed get (mixed $limit, mixed $fields)
19-
* @method mixed getOne (mixed $fields)
19+
* @method mixed getOne (mixed $fields)processAllWith
2020
* @method mixed paginate (int $page, array $fields)
2121
* @method dbObject query ($query, $numRows)
2222
* @method dbObject rawQuery ($query, $bindParams, $sanitize)
@@ -521,18 +521,23 @@ private function processAllWith (&$data, $shouldReset = true) {
521521
if ($relationType == 'hasone') {
522522
$obj = new $modelName;
523523
$table = $obj->dbTable;
524-
524+
$primaryKey = $obj->primaryKey;
525+
525526
if (!isset ($data[$table])) {
526527
$data[$name] = $this->$name;
527528
continue;
528-
}
529-
if ($this->returnType == 'Object') {
530-
$item = new $modelName ($data[$table]);
531-
$item->returnType = $this->returnType;
532-
$item->isNew = false;
533-
$data[$name] = $item;
529+
}
530+
if ($data[$table][$primaryKey] === null) {
531+
$data[$name] = null;
534532
} else {
535-
$data[$name] = $data[$table];
533+
if ($this->returnType == 'Object') {
534+
$item = new $modelName ($data[$table]);
535+
$item->returnType = $this->returnType;
536+
$item->isNew = false
537+
$data[$name] = $item;
538+
} else {
539+
$data[$name] = $data[$table];
540+
}
536541
}
537542
unset ($data[$table]);
538543
}

0 commit comments

Comments
 (0)