0
$result = $proxy->salesOrderInvoiceCreate((object)array('sessionId' => $sessionId->result, 'itemsQty' => array('order_item_id' => 15, 'qty' => '1')));

$mainarray[]; $itemarray[];

これは複数必要です

array('order_item_id' => 15, 'qty' => '1')

つまり、配列に配列が必要です。

foreach(statement){
array_push($itemarray, "order_item_id", echo $item->product_id;);
array_push($itemarray, "qty", echo $item->qty);
array_push($mainarray, $itemarray);
}
enter code here

リクエストの例 SOAP V2 (WS-I コンプライアンス モード) http://www.magentocommerce.com/api/soap/sales/salesOrderInvoice/sales_order_invoice.create.html

実際、私は現在のものを何に置き換えるのかもわかりません

 array('order_item_id' => 15, 'qty' => '1')

配列 ($mainarray) で ??

4

1 に答える 1

1

array_pushこれは、現在の$itemarray出力を使用する正しい方法ではありません。次のようになります。

Array
(
    [0] => 'order_item_id'
    [1] => '200'
    [2] => 'qty'
    [3] => '2'
)

基本に戻って、次のようなものを使用して多次元配列を生成します。

$itemarray[] = array("order_item_id" => $item->product_id, "qty" => $item->qty);
array_push($mainarray, $itemarray);

編集:わかりました、あなたの質問を読み直しました。無視してください$mainArray

$result = $proxy->salesOrderInvoiceCreate((object)array('sessionId' => $sessionId->result, 'itemsQty' => $itemarray));

これは、qty/itemsQty がマルチキー配列を受け入れることを示す他の例と同様に機能するはずです。

于 2013-06-27T09:05:59.547 に答える