我这样做:
$product = new \Illuminate\Database\Eloquent\Collection($product_array);
但它作为一个数组工作,而不像$product->subscription
这样的对象不起作用,但$product['subscription']
会起作用。
答案 0 :(得分:2)
您可以以面向对象的方式使用这样的集合:
$product->get('subscription');
答案 1 :(得分:0)
您可以将ArrayObject与ArrayObject::ARRAY_AS_PROPS
标志一起使用
$api = new \ArrayObject(collect([
'api_version' => 1,
'facebook_id' => 1,
]),2)
echo $api->facebook_id; // ouputs 1
请注意,2
只是ArrayObject::ARRAY_AS_PROPS
掩盖丑陋的简写。
必须有另一种方式,我们只是遗漏了一些东西。我正在使用Laravel 5.4并尝试在方法中使用此方法来从示例中获取$request
或$api
之类的内容。
答案 2 :(得分:0)
不确定这是正确的方法还是可以的
$product = (object) $product_array;
$product->subscription;
示例:
$product_arr = [
'name' => 'bag',
'qty' => 4,
];
$product = (object) $product_arr;
$product->name; // result = bag