Eccube\Tests\Web\Admin\Order\EditControllerWithMultipleTest::createFormDataForMultiple PHP Method

createFormDataForMultiple() public method

createFormData() との違いは、 $Shipping[N]['ShipmentItems'] がフォームに追加されている. OrderDetails は、 $Shippings[N]['ShipmentItems] から生成される.
public createFormDataForMultiple ( Customer $Customer, array $Shippings ) : array
$Customer Eccube\Entity\Customer
$Shippings array お届け先情報の配列
return array
    public function createFormDataForMultiple(Customer $Customer, array $Shippings)
    {
        $formData = parent::createFormData($Customer, null);
        $formData['Shippings'] = $Shippings;
        $OrderDetails = array();
        foreach ($Shippings as $Shipping) {
            foreach ($Shipping['ShipmentItems'] as $Item) {
                if (empty($OrderDetails[$Item['ProductClass']])) {
                    $OrderDetails[$Item['ProductClass']] = array('Product' => $Item['Product'], 'ProductClass' => $Item['ProductClass'], 'price' => $Item['price'], 'quantity' => $Item['quantity'], 'tax_rate' => 8);
                } else {
                    $OrderDetails[$Item['ProductClass']]['quantity'] += $Item['quantity'];
                }
            }
        }
        $formData['OrderDetails'] = array_values($OrderDetails);
        return $formData;
    }