php - Laravel 模型函数以字符串形式获取相关实体描述
问题描述
我有两个实体关系,其中 Order hasMany OrderItems。我正在尝试在我的 desc 函数中获取订单项目详细信息作为描述字符串,如下所示。
class Order extends Model
{
public function items(){
return $this->hasMany(OrderItem::class);
}
public function desc() : string
{
$items = $this->items->select("item_name, price")->get();
$desc='';
foreach($items as $item){
$desc .=implode(':',$item).', ';
}
return $desc;
//return 'item_name:price, cards:50,'
}
}
它的投掷
“内爆():传递的参数无效”
你能帮我吗?我怎么能做到这一点?有没有更好的方法来做到这一点?
解决方案
在您的 OrderItem 模型中使用它
public functon getDescAttribute()
{
$value = "{$this->item_name}:{$this->price}";
return $value;
}
这一定是最好的解决方案,$item->desc 来检索它