Я создал сайт для социального маркетинга. Услуги предоставляются через API. Когда пользователь запрашивает службу, API отправляет более одного запроса. Как сделать так, чтобы он запрашивал услугу только один раз?
public function cron(){
$orders = Order::where('status', 'Pending')->where('service_no', '!=', 0)->get();
$api = ApiSetting::first();
foreach ($orders as $order){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $api->url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,
"key = ".$api->key."&action=add&service = ".$order->service_no."&link = ".$order->link."&quantity = ".$order->quantity);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$server_output = curl_exec ($ch);
$item = json_decode($server_output);
$order->order_no = $item->order;
$order->save;
curl_close ($ch);
}
}
public function cronn(){
$orders = Order::where('order_no', '!=', 0)->where('service_no', '!=', 0)->get();
$api = ApiSetting::first();
foreach ($orders as $order){
$new_curl = curl_init();
curl_setopt($new_curl, CURLOPT_URL, $api->url);
curl_setopt($new_curl, CURLOPT_POST, 1);
curl_setopt($new_curl, CURLOPT_POSTFIELDS,
"key = ".$api->key."&action=status&order = ".$order->order_no);
curl_setopt($new_curl, CURLOPT_RETURNTRANSFER, true);
$server_output = curl_exec ($new_curl);
$item = json_decode($server_output);
$order->start_count = $item->start_count;
$order->remains = $item->remains;
$order->status = $item->status;
$order->save;
curl_close ($new_curl);
}
}
Добавлены точки, чтобы предложения не заканчивались. Название изменено, чтобы предоставить актуальную информацию о проблеме.






понятия не имею, о чем вы спрашиваете, не могли бы вы добавить еще несколько пояснений