Вид лезвия | Получить данные массива в структурированных строках | может кто-нибудь проверить, в порядке ли мое кодироваPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Вид лезвия | Получить данные массива в структурированных строках | может кто-нибудь проверить, в порядке ли мое кодирова

Сообщение Anonymous »

Я пытаюсь структурировать следующий массив данных в моем блейд-файле:

Код: Выделить всё

array:6 [▼
"email" => "client_2.mage@webamazingapps.com"
"name" => "Client Deux"
"title" => "1"
"firstname" => "Deux"
"lastname" => "Client"
"\x00*\x00items" => array:4 [▼
0 => {#1685 ▼
+"laboratory": "Cuisine"
+"serving_persons": null
+"desserttextmessage": null
+"dessertdecorchocolateID": "Décoration chocolat et fruits souhaitée"
+"dessertdecorflowerID": "Décoration petites fleurs souhaitée"
+"product_type": "Pain-surprise"
+"product_name": "Mélangé"
+"portions": "100"
+"weight": "2.5 Kg"
+"assortment_1": "Foie gras"
+"assortment_2": "Gruyère"
+"assortment_3": "Jambon"
+"assortment_4": "Jambon cru"
+"color": "Bleu"
+"productprice": "89.00"
+"productaddfee": "5.00"
+"subtotal": "94.00"
}
1 => {#1688 ▼
+"laboratory": "Pâtissier"
+"serving_persons": "2-3 pers."
+"desserttextmessage": "Inscription"
+"dessertdecorchocolateID": "Décoration chocolat et fruits souhaitée"
+"dessertdecorflowerID": "Décoration petites fleurs souhaitée"
+"product_type": "Gâteaux"
+"product_name": "Chocolat"
+"portions": null
+"weight": null
+"assortment_1": null
+"assortment_2": null
+"assortment_3": null
+"assortment_4": null
+"color": null
+"productprice": "19.00"
+"productaddfee": "5.00"
+"subtotal": "24.00"
}
2 => {#1692 ▼
+"laboratory": "Boulanger"
+"serving_persons": "2 pers. | 16 cm"
+"desserttextmessage": "Inscription Tarte"
+"dessertdecorchocolateID": "Décoration chocolat et fruits souhaitée"
+"dessertdecorflowerID": "Décoration petites fleurs souhaitée"
+"product_type": "Tarte"
+"product_name": "Tarte fraises"
+"portions": null
+"weight": null
+"assortment_1": null
+"assortment_2": null
+"assortment_3": null
+"assortment_4": null
+"color": null
+"productprice": "11.00"
+"productaddfee": "5.00"
+"subtotal": "16.00"
}
3 => {#1690 ▼
+"laboratory": "Boulanger"
+"serving_persons": "2 pers.  | 16 cm"
+"desserttextmessage": "Inscription Tarte-fine"
+"dessertdecorchocolateID": "Décoration chocolat et fruits souhaitée"
+"dessertdecorflowerID": "Décoration petites fleurs souhaitée"
+"product_type": "Tarte-fine"
+"product_name": "Pommes"
+"portions": null
+"weight": null
+"assortment_1": null
+"assortment_2": null
+"assortment_3": null
+"assortment_4": null
+"color": null
+"productprice": "13.00"
+"productaddfee": "5.00"
+"subtotal": "18.00"
}
]
]
Я знаю, как получить первые 5 столбцов моего массива (массив:6):

Код: Выделить всё

{{$content['email']}}
{{$content['name']}}
{{$content['title']}}
{{$content['lastname']}}
{{$content['firstname']}}
Но я не знаю, как начать помещать мои четыре продукта (массив:4) в такие строки:

Если «лаборатория» = «Кухня»:

Код: Выделить всё

  +"laboratory": "Cuisine"
+"serving_persons": null
+"desserttextmessage": null
+"dessertdecorchocolateID": "Décoration chocolat et fruits souhaitée"
+"dessertdecorflowerID": "Décoration petites fleurs souhaitée"
+"product_type": "Pain-surprise"
+"product_name": "Mélangé"
+"portions": "100"
+"weight": "2.5 Kg"
+"assortment_1": "Foie gras"
+"assortment_2": "Gruyère"
+"assortment_3": "Jambon"
+"assortment_4": "Jambon cru"
+"color": "Bleu"
+"productprice": "89.00"
+"productaddfee": "5.00"
+"subtotal": "94.00"
Ярлыки и данные должны отображаться следующим образом:

Код: Выделить всё

laboratory  | product_type  | product_name  | portions  | weight    | assortment_1  | assortment_2 | assortment_3   | assortment_4  | color | productprice  | productaddfee | subtotal

Cuisine     | Pain-surprise | Mélangé       | 100       | 2.5 Kg    | Foie gras     | Gruyère   | Jambon    | Jambon cru    | Bleu  |  89.00    | 5.00  | 94.00
Столбцы «serving_persons», «desserttextmessage», «dessertdecorchocolateID», «dessertdecorflowerID» не отображаются, поскольку они не принадлежат «laboratory» = «Cuisine».< /p>

Если «лаборатория» = «Кондитер»:

Код: Выделить всё

  +"laboratory": "Pâtissier"
+"serving_persons": "2-3 pers."
+"desserttextmessage": "Inscription"
+"dessertdecorchocolateID": "Décoration chocolat et fruits souhaitée"
+"dessertdecorflowerID": "Décoration petites fleurs souhaitée"
+"product_type": "Gâteaux"
+"product_name": "Chocolat"
+"portions": null
+"weight": null
+"assortment_1": null
+"assortment_2": null
+"assortment_3": null
+"assortment_4": null
+"color": null
+"productprice": "19.00"
+"productaddfee": "5.00"
+"subtotal": "24.00"
Ярлыки и данные должны отображаться следующим образом:

Код: Выделить всё

laboratory  | product_type  | product_name  | serving_persons   | desserttextmessage | dessertdecorchocolateID  | dessertdecorflowerID  | productprice  | productaddfee | subtotal

Pâtissier   | Gâteaux   | Chocolat  | 2-3 pers. | Inscription | Décoration chocolat et fruits souhaitée | Décoration petites fleurs souhaitée   | 19.00 | 5.00  | 24.00
Столбцы «порции», «вес», «ассортимент_1», «ассортимент_2», «ассортимент_3», «ассортимент_4», «цвет» относятся не к «лаборатории» = "Кондитер".

Если "лаборатория" = "Буланже":

Код: Выделить всё

  +"laboratory": "Boulanger"
+"serving_persons": "2 pers. | 16 cm"
+"desserttextmessage": "Inscription Tarte"
+"dessertdecorchocolateID": "Décoration chocolat et fruits souhaitée"
+"dessertdecorflowerID": "Décoration petites fleurs souhaitée"
+"product_type": "Tarte"
+"product_name": "Tarte fraises"
+"portions": null
+"weight": null
+"assortment_1": null
+"assortment_2": null
+"assortment_3": null
+"assortment_4": null
+"color": null
+"productprice": "11.00"
+"productaddfee": "5.00"
+"subtotal": "16.00"
Ярлыки и данные должны отображаться следующим образом:

Код: Выделить всё

laboratory  | product_type  | product_name  | serving_persons   | desserttextmessage | dessertdecorchocolateID  | dessertdecorflowerID  | productprice  | productaddfee | subtotal

Pâtissier   | Gâteaux   | Chocolat  | 2-3 pers.  | Inscription | Décoration chocolat et fruits souhaitée | Décoration petites fleurs souhaitée   | 19.00 | 5.00  | 24.00
Столбцы «порции», «вес», «ассортимент_1», «ассортимент_2», «ассортимент_3», «ассортимент_4», «цвет» относятся не к «лаборатории» = "Буланжер".

Продуктов может быть больше трех, теоретически неограниченно.

Вот как я получаю свои данные в контроллер:

Код: Выделить всё

            # START SEND EMAIL TO X

$customer = $_REQUEST['userID'];

// dd($customer);

$customerdata = DB::table('cms_users')
->leftJoin('users_r3_details','cms_users.id', '=', 'users_r3_details.userID')
->select('cms_users.email','cms_users.name','cms_users.email','users_r3_details.title','users_r3_details.firstname','users_r3_details.lastname')
->where('cms_users.id', '=', $customer)
->first();

// dd($customerdata);

$orderdata = DB::table('orders_detail')
->leftJoin('dessert_servings','orders_detail.dessertservingID', '=', 'dessert_servings.id')
->leftJoin('product_types','orders_detail.producttype_ID', '=', 'product_types.producttypeID')
->leftJoin('product_names','orders_detail.productname', '=', 'product_names.productname_ID')
->leftJoin('party_loaf_portions','orders_detail.ID_portion', '=', 'party_loaf_portions.portion_ID')
->leftJoin('party_loaf_weights','orders_detail.partyloafweightID', '=', 'party_loaf_weights.id')
->leftJoin('party_loaf_sandwiches_1','orders_detail.partyloafsandwich1ID', '=', 'party_loaf_sandwiches_1.id')
->leftJoin('party_loaf_sandwiches_2','orders_detail.partyloafsandwich2ID', '=', 'party_loaf_sandwiches_2.id')
->leftJoin('party_loaf_sandwiches_3','orders_detail.partyloafsandwich3ID', '=', 'party_loaf_sandwiches_3.id')
->leftJoin('party_loaf_sandwiches_4','orders_detail.partyloafsandwich4ID', '=', 'party_loaf_sandwiches_4.id')
->leftJoin('party_loaf_ribbons','orders_detail.partyloafribbonID', '=', 'party_loaf_ribbons.id')
->select('orders_detail.laboratory','product_types.product_type','product_names.product_name','dessert_servings.serving_persons','orders_detail.desserttextmessage','orders_detail.dessertdecorchocolateID','orders_detail.dessertdecorflowerID','party_loaf_portions.portions','party_loaf_weights.weight','party_loaf_sandwiches_1.assortment as assortment_1','party_loaf_sandwiches_2.assortment as assortment_2','party_loaf_sandwiches_3.assortment as assortment_3','party_loaf_sandwiches_4.assortment as assortment_4','party_loaf_ribbons.color','orders_detail.productprice','orders_detail.productaddfee','orders_detail.subtotal')
->where('orders_detail.orderID', '=', $id)
->get();

// dd($orderdata);

$orderconfuserdataArray = (array) $customerdata;

$orderconforderdataArray = (array) $orderdata;

// dd($orderconfuserdataArray);
// dd($orderconforderdataArray);

$orderconfdatas = array_merge($orderconfuserdataArray, $orderconforderdataArray);

// dd($orderconfdatas);

$email = $customerdata->email;
$copyto ='';

// dd($email);

try {

// Example : Mail::to($request->user())->cc($moreUsers)->bcc($evenMoreUsers)->queue(new OrderShipped($order));

Mail::to($email)->send(new CustomerConfOrder($orderconfuserdataArray,$orderconforderdataArray));
echo 'Commande et confirmation de commande expédiées avec succès';

} catch (\Exception $e) {

echo 'Error - '.$e;
sleep(150);

}

# END SEND EMAIL TO X
Я был бы признателен за ваш опыт и советы, как решить эту проблему.

С уважением, Марк!
====================================== ===============================

ОБНОВЛЕНИЕ:

Мои массивы теперь выглядят более привычно после небольших изменений в моем коде:

Код: Выделить всё

array:2 [▼
0 =>  {#1727 ▼
+"email": "client_1.mage@webamazingapps.com"
+"name": "Client Un"
+"title": "1"
+"firstname": "Un"
+"lastname": "Client"
}
1 => Collection {#1737 ▼
#items: array:1 [▼
0 => {#1733 ▼
+"laboratory": "Boulanger"
+"product_type": "Tarte"
+"product_name": "Tarte fraises"
+"serving_persons": "2 pers. | 16 cm"
+"desserttextmessage": "Inscription"
+"dessertdecorchocolateID": "Décoration chocolat et fruits souhaitée"
+"dessertdecorflowerID": "Décoration petites fleurs souhaitée"
+"portions": null
+"weight": null
+"assortment_1": null
+"assortment_2": null
+"assortment_3": null
+"assortment_4": null
+"color": null
+"productprice": "11.00"
+"productaddfee": "5.00"
+"subtotal": "16.00"
}
]
}
]
Я еще раз попробовал foreach:

Код: Выделить всё

@foreach($Collection as $row)
{{$row->laboratory}}
{{$row->serving_persons}}
{{$row->desserttextmessage}}
@endforeach
Или проще:

Код: Выделить всё

{{$content['Collection']}}
чтобы получить мой контент, но данные в электронное письмо снова не печатаются.

Здесь нужна помощь , так как я застрял. Спасибо, Марк

Подробнее здесь: https://stackoverflow.com/questions/549 ... f-my-codin
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»