From 8de1ce4a56b702845e12dd5aa0dd5b1bd0157079 Mon Sep 17 00:00:00 2001 From: Zauberfisch Date: Mon, 21 Oct 2013 04:03:51 +0000 Subject: [PATCH] array check to ensure getRemoteJoinField() gets an array from Config::inst()->get($remoteClass, 'has_one') (related issue: #2570) --- model/DataObject.php | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/model/DataObject.php b/model/DataObject.php index 3f642a100..af350689f 100644 --- a/model/DataObject.php +++ b/model/DataObject.php @@ -1532,8 +1532,12 @@ class DataObject extends ViewableData implements DataObjectInterface, i18nEntity if($fieldPos = strpos($remoteClass, '.')) { return substr($remoteClass, $fieldPos + 1) . 'ID'; } - - $remoteRelations = array_flip(Config::inst()->get($remoteClass, 'has_one')); + + $remoteRelations = Config::inst()->get($remoteClass, 'has_one'); + if(!is_array($remoteRelations)) { + $remoteRelations = array(); + } + $remoteRelations = array_flip($remoteRelations); // look for remote has_one joins on this class or any parent classes foreach(array_reverse(ClassInfo::ancestry($this)) as $class) {