我有:
include $(CLEAR_VARS)
我需要在对象$product = Product::where('id', $productId)->first();
中添加一个新行,其中对象的键为$this->items
。这是糟糕的结构,但是像这样:
$product->id
如何以正确的方式做到这一点?
答案 0 :(得分:1)
如果$this->items
是数组,则应使用
$this->items[$product->id] = (object)['name' => $product->name] ;
如果是对象,则应在之前使用临时变量:
$tmp_id = $product->id ;
$this->items->$tmp_id = (object)['name' => $product->name] ;
或使用括号:
$this->items->{$product->id} = (object)['name' => $product->name] ;
<强>为什么吗
因为$this->items->$product->id
将被解释为获得id
$this->items->$product
而不是之前评估$product->id
。