嗨,我需要从数据库中获取产品并用一行代码对其进行爆炸,因此我可以获取产品数据并将product_properties作为数组在一起
$Product = Product::find(33);
$properties = explode(",", ($Product ->product_properties));
答案 0 :(得分:1)
您可以做到这一点:
$properties = explode(",", (Product::find(33)->product_properties));
但是与第一种方法相比,这在可读性方面很差。
答案 1 :(得分:1)
您可以爆炸product_properties
以获得数组,也可以在Product
模型上定义一个accessor。
因此,在App\Product
中,添加以下内容:
public function getPropertiesAttribute()
{
return explode(',', $this->product_properties);
}
就是这样。现在,每次检索模型时,您都可以通过执行以下操作以数组格式访问其属性:
$product = Product::find(33);
$product->properties; // will output product_properties in an array format
编辑:例如,如果要将此properties
(计算的)字段包含在其JSON表示中,则需要在模型的appends
属性中对其进行定义。例如。
/**
* The accessors to append to the model's array form.
*
* @var array
*/
protected $appends = ['properties'];
这是工作中的example。