php-在Yii2中合并2个对象而不强制转换

php-在Yii2中合并2个对象而不强制转换,php,yii,Php,Yii,早上好 我的模型(BaseData.php)中有两个函数,其中每个函数返回一个对象 在我的EditorController.php中,我将调用这些函数 $obj1 = BaseData::getRestrictedTemplate($categoryTitle); $obj2 = BaseData::getCommonCategory($categoryTitle); 我需要的是合并这两个对象。。我通过这样做尝试了array\u merge函数 $query = (object)(array_

早上好

我的模型(BaseData.php)中有两个函数,其中每个函数返回一个对象

在我的EditorController.php中,我将调用这些函数

$obj1 = BaseData::getRestrictedTemplate($categoryTitle);
$obj2 = BaseData::getCommonCategory($categoryTitle);
我需要的是合并这两个对象。。我通过这样做尝试了
array\u merge
函数

$query = (object)(array_merge((array)$obj1, (array)$obj2));
有了这个,它就是合并。但实际情况是,它将对象投射到
stdClass
而不是
yii/db/Query

如何在不更改对象的情况下执行此操作
yii/db/Query
。。 请帮忙。谢谢

$query = (object)(array_merge((array)$obj1, (array)$obj2));
这将从数组中创建stdClass对象。 现在,为了再次创建yii/db/Query对象,请将此对象传递给yii/db/Query构造函数

$query = (object)(array_merge((array)$obj1, (array)$obj2));
$query = new yii/db/Query($query);
注意:这仅在两个对象属于同一类时有效,否则将丢失方法或获得未知属性错误。为此,必须循环数组并将其所需的键和值分配给类的对象

$array = (object)($mergedArray);
$object = new yii/db/Query();
foreach ($array as $key => $value)
{
  $object->$key = $value;
}

为这两个对象添加示例转储