Предполагая, что product_properties
- это массив перед сохранением его в базе данных, вы можете просто использовать свойство $ casts для модели:
$casts = ['product_properties' => 'array'];
Это будет означать, что вы можете установить product_properties
для модели в виде массива, и она преобразует ее в JSON для хранения в базе данных, а затем, когда вы перейдете к свойству модели, это будет массив, например
$product->product_properties = ['foo', 'bar'];
$product->save();
В качестве альтернативы, если вы просто хотите изменить свойство в модели, но не хотите, чтобы Eloquent преобразовал его для сохранения в базе данных, вы можете использовать accessor вместо этого:
public function getProductPropertiesAttribute($properties)
{
return explode(',', $properties);
}