早上好,
我的模型中有2个函数(BaseData.php),其中每个函数都返回一个对象。
在我的EditorController.php中,我将调用这些函数。
$obj1 = BaseData::getRestrictedTemplate($categoryTitle);
$obj2 = BaseData::getCommonCategory($categoryTitle);
我需要的是合并这两个对象..我通过这样做尝试了array_merge
..
$query = (object)(array_merge((array)$obj1, (array)$obj2));
有了它,它就是合并。但是发生的事情是它将对象转换为stdClass
而不是yii/db/Query
如何在不更改对象yii/db/Query
的情况下执行此操作。
请帮忙。感谢。
答案 0 :(得分:1)
$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;
}