Php 从数据库中分解列

Php 从数据库中分解列,php,laravel,eloquent,Php,Laravel,Eloquent,大家好,我需要从数据库中获取产品,并将其分解为一行代码,这样我就可以获取产品数据,并将产品属性作为一个数组放在一起 $Product = Product::find(33); $properties = explode(",", ($Product ->product_properties)); 您可以通过以下方式实现: $properties = explode(",", (Product::find(33)->product_properties));

大家好,我需要从数据库中获取产品,并将其分解为一行代码,这样我就可以获取产品数据,并将产品属性作为一个数组放在一起

    $Product = Product::find(33);
    $properties = explode(",", ($Product ->product_properties));

您可以通过以下方式实现:

    $properties = explode(",", (Product::find(33)->product_properties));

但与第一种方法相比,这种方法的可读性较差。

您可以通过以下方式实现:

    $properties = explode(",", (Product::find(33)->product_properties));

但与第一种方法相比,这种方法的可读性较差。

您可以只分解
产品属性来获得数组,也可以在
产品
模型上定义

因此,在
App\Product
中添加以下内容:

public function getPropertiesAttribute()
{
    return explode(',', $this->product_properties); 
}
$product = Product::find(33);
$product->properties; // will output product_properties in an array format
就这样。现在,每次检索模型时,您还可以通过执行以下操作以数组格式访问其属性:

public function getPropertiesAttribute()
{
    return explode(',', $this->product_properties); 
}
$product = Product::find(33);
$product->properties; // will output product_properties in an array format
编辑:例如,如果希望将此
属性
(计算)字段包含在其JSON表示中,则需要在模型的
附录
属性中定义它。比如说

/**
 * The accessors to append to the model's array form.
 *
 * @var array
 */
protected $appends = ['properties'];

这是一个可行的方法。

您可以分解
产品属性
以获得一个数组,也可以在
产品
模型上定义一个

因此,在
App\Product
中添加以下内容:

public function getPropertiesAttribute()
{
    return explode(',', $this->product_properties); 
}
$product = Product::find(33);
$product->properties; // will output product_properties in an array format
就这样。现在,每次检索模型时,您还可以通过执行以下操作以数组格式访问其属性:

public function getPropertiesAttribute()
{
    return explode(',', $this->product_properties); 
}
$product = Product::find(33);
$product->properties; // will output product_properties in an array format
编辑:例如,如果希望将此
属性
(计算)字段包含在其JSON表示中,则需要在模型的
附录
属性中定义它。比如说

/**
 * The accessors to append to the model's array form.
 *
 * @var array
 */
protected $appends = ['properties'];


这是一个可行的方法。

什么是产品属性?不确定您的意思,您只想将
产品属性
转换为一个数组?为什么需要将其放在一行中?一个两行的工作解决方案,就像你的方式一样,非常好。它与产品属性有很多关系吗?我所需要的是从数据库中获取产品,并以阵列形式获取产品属性什么是产品属性?不确定你的意思,您只想将
产品属性
转换为一个数组?为什么需要在一行中使用它?一个两行的工作解决方案,就像你的方式一样,很好。它与产品属性有很多关系吗?我只需要从数据库中获取产品,并将产品属性作为数组获取名称结果它只返回产品属性作为数组我需要将产品作为数组返回,但您需要为所有产品提供一行解决方案吗?相同的结果它只返回产品属性作为数组我需要返回产品很好,但你需要一个一条线的解决方案吗?没用,我的朋友,很好,这里有一个解决方案。如果你让它工作,请考虑接受/接受答案。谢谢:)但我需要用itI更新的我的产品退货。您仍然可以访问模型中的所有其他属性。比如说。如果您的产品有名称,
$product->name
仍然有效<代码>$product->properties
也将返回您所需的数组。不工作我的朋友它工作正常这是一个错误。如果你让它工作,请考虑接受/接受答案。谢谢:)但我需要用itI更新的我的产品退货。您仍然可以访问模型中的所有其他属性。比如说。如果您的产品有名称,
$product->name
仍然有效<代码>$product->properties也将返回所需的数组。