大家好,在我的“产品”表中,我都有product_properties,它们应该作为数组与其他我可以做的列一起返回
$Product = Product::find(33);
$properties = explode(",", ($Product ->product_properties));
但是我将获得product_properties作为数组,但不会返回其他产品列https://prnt.sc/mbp3tk,我所需要做的就是将product_properties作为具有其他列的数组返回,例如图像https://prnt.sc/mbp2yh,但在图像中,product_properties不是数组
答案 0 :(得分:0)
好吧,对我来说,这似乎是一个JSON对象。您是否尝试将其编码/解码为JSON对象? Check the documentation if you like
答案 1 :(得分:0)
假设product_properties
是一个数组,然后再将其保存到数据库中,则可以使用模型上的$casts属性:
$casts = ['product_properties' => 'array'];
这意味着您可以在模型上将product_properties
设置为数组,并将其转换为JSON以存储到数据库,然后当您访问模型上的属性时,它将是一个数组例如
$product->product_properties = ['foo', 'bar'];
$product->save();
或者,如果您只想更改模型上的属性,而又没有雄辩地将其转换为将其存储到数据库中,则可以使用accessor来代替:
public function getProductPropertiesAttribute($properties)
{
return explode(',', $properties);
}