Как поместить значения объектов из массива в строку - PullRequest
1 голос
/ 25 февраля 2020

Я пытаюсь заставить мое приложение для продаж отправлять клиенту сообщение со всеми купленными товарами с указанием их цены. Купленные предметы хранятся в дп, каждый предмет со своим количеством и ценой.

Я собрал все купленные товары, но не могу поместить название и цены товаров в одну строку - это сообщение для отправки клиенту.

Ниже объект массива my items

$order = App\Order::find($id);
$items = $order->orderItems;

$item = OrderItem::where('order_id', $order->id)->first();

 $message = $order->code . " confirmed. ".$order->customer->name ." ". $order->customer->vehicle_plate . " has paid KES ".$order->amount."  for ".$item->quantity." ".$item->item->unit->name." of ".$item->item->name." at ".$order->updated_at->format('d/m/Y h:i a');

Это сообщение содержит первый элемент заказа. Мне нужно одно сообщение со всеми элементами заказа.

Ответы [ 2 ]

1 голос
/ 25 февраля 2020

Вы можете сделать это:

$order = App\Order::find(14);
$items = $order->orderItems;

$itemMessage = "";
foreach($items as $item){
    $itemMessage .= $item->quantity." ".$item->item->unit->name." ".$item->item->name." ";
}

$message = $order->code . " confirmed. ".$order->customer->name ." ". $order->customer->vehicle_plate . " has paid KES ".$order->amount."  for ".$itemMessage." at ".$order->updated_at->format('d/m/Y h:i a');

return $message;
0 голосов
/ 25 февраля 2020

Вы можете объединить данные элемента, просматривая l oop

$order = App\Order::find($id);
$items = $order->orderItems;

$item = OrderItem::where('order_id', $order->id)->first();
$message = $order->code . " confirmed. ".$order->customer->name ." ".     $order->customer->vehicle_plate . " has paid KES ".$order->amount."  for ";

foreach($item as $item_value){
    $message .=  $item_value->quantity." ".$item_value->item->unit->name." of ".$item_value->item->name;
 }
$message .= " at ".$order->updated_at->format('d/m/Y h:i a');

echo $message; 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...