我想知道如何将未在类中声明的属性添加到对象中。
让我解释一下:
我有订单:
[0] => stdClass Object
(
[quantityBlack] => 3
[quantityBlue] => 1
[quantityGreen] => 0
[quantityOrange] => 0
[quantityPurple] => 0
[quantityRed] => 0
[dateOfOrder] => Fri, 06 Jul 12 22:21
[user_id] => 5
[comments] => Test
)
我想用用户的属性代替user_id
所以我想做的是:
foreach ($data['orders'] as $key => $order){
$data['orders']->$key???-> = $this->user_model->GetUsers(array('userId' => $order->user_id));
}
但我不知道如何在最后专门针对单个对象(你看到键了吗???),我想获得该顺序的相关用户的属性。
我该怎么做?
谢谢!
如果我正确理解您的数据结构,您将尝试执行以下操作:
foreach($data['orders'] as $key => $order) {
$data['orders'][$key]->user = $this->user_model->GetUsers(array('userId' => $data['orders'][$key]->user_id));
unset($data['orders'][$key]->user_id);
}
我假设$data['orders']是一个包含一堆stdClass对象的数组,就像问题中引用的那个对象一样,因此,在这种情况下,在访问每个对象的属性之前,为什么要使用$data[`orders'][$key]语法先访问每个数组元素。
请注意,数据结构和你在问题中的意图都有点不清楚,所以如果这不能解决你的问题,你可能需要提供更多的上下文。