【发布时间】:2019-07-22 08:16:57
【问题描述】:
我有两个实体关系,其中 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,'
}
}
它的投掷
“implode(): 传递的参数无效”
你能帮我吗,我怎么能做到这一点?有没有更好的方法来做到这一点?
【问题讨论】:
-
@Indra toString 正在抛出错误
-
$this->items 返回一个集合。查看手册中可用的方法,找到您需要的方法
-
or this->items->each(functiond($index, $value) { // 返回你的逻辑 });