Php 如何使用SquareAPI从Order对象获取一个工作日内售出的商品数据并将其插入MySQL数据库

Php 如何使用SquareAPI从Order对象获取一个工作日内售出的商品数据并将其插入MySQL数据库,php,html,mysql,square-connect,square,Php,Html,Mysql,Square Connect,Square,所以现在我正试图从Square的订单API中获取每天销售的不同商品。但是,我不知道如何将售出商品的名称、商品的catalog_id和售出数量放入三个不同的数组中,以便将其插入MySQL数据库。我已将我的accessToken和locationId替换为“XXXX” <?php require_once(__DIR__ . '/vendor/autoload.php'); use Square\SquareClient; use Square\Exceptions\ApiException

所以现在我正试图从Square的订单API中获取每天销售的不同商品。但是,我不知道如何将售出商品的名称、商品的catalog_id和售出数量放入三个不同的数组中,以便将其插入MySQL数据库。我已将我的accessToken和locationId替换为“XXXX”

<?php
require_once(__DIR__ . '/vendor/autoload.php');

use Square\SquareClient;
use Square\Exceptions\ApiException;
use Square\Http\ApiResponse;
use Square\Models\ListLocationsResponse;
use Square\Environment;
use Square\Orders;

$client = new SquareClient([
    'accessToken' => 'XXXX',
    'environment' => Environment::PRODUCTION,
]);

SquareConnect\Configuration::getDefaultConfiguration()->setAccessToken('XXXX');

$body = new Square\Models\SearchOrdersRequest;
$ordersApi = $client->getOrdersApi();
$apiResponse = $ordersApi->searchOrders($body);

$location_ids = ['XXXX'];
$created_at = new \Square\Models\TimeRange();
$created_at->setStartAt('2021-04-10T00:00:00+08:00');
$created_at->setEndAt('2021-04-10T23:59:59+08:00'); 

$date_time_filter = new \Square\Models\SearchOrdersDateTimeFilter();
$date_time_filter->setCreatedAt($created_at);

$filter = new \Square\Models\SearchOrdersFilter();
$filter->setDateTimeFilter($date_time_filter);

$sort = new \Square\Models\SearchOrdersSort('CREATED_AT');
$sort->setSortOrder('DESC');

$query = new \Square\Models\SearchOrdersQuery();
$query->setFilter($filter);
$query->setSort($sort);

$body = new \Square\Models\SearchOrdersRequest();
$body->setLocationIds($location_ids);
$body->setQuery($query);
$body->setLimit(500);
$body->setReturnEntries(false);

$api_response = $client->getOrdersApi()->searchOrders($body);

if ($api_response->isSuccess()) {
    $result = $api_response->getResult();
    //print_r($result);
    var_export($result);
} else {
    $errors = $api_response->getErrors();
}

?>

这是上述代码的输出: Square\Models\SearchOrdersResponse::\uuu set\u状态(数组('orderEntries'=>NULL,'orders'=>array(0=>Square\Models\Order:::\uu set\u状态(数组('id'=>'rOWGPV4K7Zoctgv1qRNPcH5eV','locationId'=>XXXX','referenceId'=>NULL,'source'=>NULL,'customerId'=>NULL,'lineItems'=>NULL,'lineItems'=>array(0=>Square=>Square\Models\orderlineitems\OrderLineItem::)状态(“uid”=>“0bb50124-0732-4382-9733-40dea49ae8b5”,“name”=>“Rojak$3.50罗惹', 'quantity'=>'2',quantityUnit'=>NULL',note'=>NULL',catalogObjectId'=>'LHXXXX4VXLMQ3SHRUBWN32QA',variationName'=>'Regular',metadata'=>NULL',modifiers'=>NULL',AppliedTaxents'=>NULL',basePriceMoney'=>Square\Models\Money::\uu设置状态(数组('amount=>350,'currency'=>SGD')),“variationTotalPriceMoney”=>Square\Models\Money::(数组('amount'=>700,'currency'=>SGD',),'GrossalesMoney'=>Square\Models\Money::(数组('amount'=>700,'currency'=>SGD',),'totalTaxMoney'=>Square\Models\Money::(数组('amount'=>0,'currency'=>SGD',)),'totalDiscountMoney'=>Square\Models\Money::\u设置状态(数组('amount'=>0,'currency'=>SGD',),'totalMoney'=>Square\Models\Money::\u设置状态(数组('amount'=>700,'currency'=>SGD',),'pricingBlocklists'=>NULL,),),'taxes'=>NULL,'deployments'=>NULL,'servicecoffices'=>NULL,'fulfillments'=>NULL,'returnAmounts'=>Square\Models\OrderMoneyAmounts:::u集_u状态(数组('amount'=>0,'currency'=>SGD',),'taxMoney'=>Square\Models\Money:u集_u状态(数组('amount'=>0,'currency'=>SGD',),'discountMoney'=>Square\Models\Money::\uu设置状态(数组('amount'=>0,'currency'=>SGD',),'tipMoney'=>Square\Models\Money::\uu设置状态(数组('amount'=>0,'currency'=>SGD',),),'serviceChargeMoney'=>Square\Models::\uu设置状态(数组('amount'=>0,'currency'=>SGD',),),“netAmounts”=>Square\Models\OrderMoneyAmounts:::\uu设置状态(数组('totalMoney'=>Square\Models\Money::):\uu设置状态(数组('amount'=>700,'currency'=>SGD',),'taxMoney'=>Square\Models\Money::\uu设置状态(数组('amount'=>0,'currency'=>SGD',),),'discountMoney'=>Square\Models\Money::\uu设置状态(数组('amount'=>0,'currency'=>SGD',),'tipMoney'=>Square\Models\Money::\uu设置状态(数组('amount'=>0,'currency'=>SGD',),'serviceChargeMoney'=>Square\Models\Money::\uu设置状态(数组('amount'=>0,'currency'=>SGD',),),),),),),'roundingAdjustment'=>NULL,'tenders'=>数组(0=>Square\Models\Tender::\uu设置状态(数组('('id'=>'9S81AplaU3qfu65tljyTvqiNvaB','locationId'=>'XXXX','transactionId'=>'rOWGPV4K7Zoctgv1qRNPcH5eV','createdAt'=>'2021-04-10T10:43:42Z','note'=>NULL','amountMoney'=>Square\Models\Money:::\uu集状态(数组('amount=>700','currency'=>SGD','SGD',),),'tipMoney'=>NULL','processingmoney'=>Square\Models\Money:\uu集状态数组('amount'=>0,'currency'=>SGD',),'customerId'=>NULL,'type'=>CASH','cardDetails'=>NULL,'cashDetails'=>Square\Models\TenderCashDetails:::\uuuuuu集状态(数组('amount'=>800,'currency'=>SGD',),'changeBackMoney'=>Square\Models\Money::\uuu集状态(数组('amount'=>100,'currency'=>SGD',),),),,'additionalRecipients'=>NULL,'paymentId'=>NULL,),),“退款”=>NULL,“元数据”=>NULL,“创建数据”=>“2021-04-10T10:43:42Z”,“更新数据”=>“2021-04-10T10:43:42Z”,“关闭数据”=>“2021-04-10T10:43:42Z”,“状态”=>“已完成”,“版本”=>NULL,“totalMoney”=>Square\Models\Money::\uu集状态(数组('amount'=>700,'currency'=>'SGD'),),'totalMoney'=>Square\Models:\uu集状态(数组('amount'=>0,'currency'=>'SGD',),'totalDiscountMoney'=>Square\Models\Money::\uu设置状态(数组('amount'=>0,'currency'=>Square\Models\Money:),'totalServiceChargeMoney'=>Square\Models\Money::\uu设置状态(数组('amount'=>0,'currency'=>Square'),),'totalServiceChargeMoney'=>Square\Models\Money:\uu设置状态(数组)('amount'=>0,'currency'=>SGD',),'pricingOptions'=>NULL,'rewards'=>NULL,),)“光标”他们的意思是,他们的意思是“QYBS4K60vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvxnzmnwufximzeWAGB6IKVRAQPJ4YMU4LYMLVJ6NMITEY9HJ1YJKLKXOLYKIVSIVAFYG7QDC3M,“错误”=>NULL,)


<html>
<?php
require_once(__DIR__ . '/vendor/autoload.php');

use Square\SquareClient;
use Square\Exceptions\ApiException;
use Square\Http\ApiResponse;
use Square\Models\ListLocationsResponse;
use Square\Environment;
use Square\Orders;

$client = new SquareClient([
    'accessToken' => 'XXXX',
    'environment' => Environment::PRODUCTION,
]);

SquareConnect\Configuration::getDefaultConfiguration()->setAccessToken('XXXX');

$location_ids = ['XXXX'];
$created_at = new \Square\Models\TimeRange();
$created_at->setStartAt('2021-04-14T00:00:00+08:00');
$created_at->setEndAt('2021-04-14T23:59:59+08:00'); 

$date_time_filter = new \Square\Models\SearchOrdersDateTimeFilter();
$date_time_filter->setCreatedAt($created_at);

$filter = new \Square\Models\SearchOrdersFilter();
$filter->setDateTimeFilter($date_time_filter);

$sort = new \Square\Models\SearchOrdersSort('CREATED_AT');
$sort->setSortOrder('DESC');

$query = new \Square\Models\SearchOrdersQuery();
$query->setFilter($filter);
$query->setSort($sort);

$body = new \Square\Models\SearchOrdersRequest();
$body->setLocationIds($location_ids);
$body->setQuery($query);
$body->setLimit(500);
$body->setReturnEntries(false);

$api_response = $client->getOrdersApi()->searchOrders($body);

if ($api_response->isSuccess()) {
    $result = $api_response->getResult();
    $orders = $result->getOrders();
    
    //INSERT INTO DB
       //include db connect class
       require_once __DIR__ . '/db_connect.php';
       // connecting to db
       $myConnection= new DB_CONNECT();
       $myConnection->connect();
       
       $sql="INSERT INTO sale_item(order_id, item_name, item_quantity) VALUES";
    
    foreach($orders as $x => $val) {
    $lineItems = $result->getOrders()[$x]->getLineItems();
    $orderid = $result->getOrders()[$x]->getId();
    
    foreach($lineItems as $q => $val2){
        //$lineItemsID = $lineItems[$q]->getUid();
        $itemName = $lineItems[$q]->getName();
        $itemQty = $lineItems[$q]->getQuantity();
        
        $sql .="('".$orderid."', '".$itemName."', '".$itemQty."'),";
    }   
    }
    
    $sql= rtrim( $sql, ',');
    $result =mysqli_query($myConnection->myconn, "$sql");

    // check if row inserted or not
    if ($result) {
     // successfully inserted into database
      echo "Product successfully created.";       
      }  
    else {
      // failed to insert row
      echo "Oops! An error occurred.";
    }
    
} else {
    $errors = $api_response->getErrors();
}



?>
</html>