コード例 #1
0
 public function saveProviders($from = 1)
 {
     $from = 34270;
     $step = 100;
     $max_steps = 100;
     $walk = true;
     while ($walk) {
         // [2] make the call to the API
         $data = ['rangoInicio' => $from, 'rangoFinal' => $from + $step];
         // [2.1] the CURL stuff
         $ch = curl_init();
         curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
         curl_setopt($ch, CURLOPT_URL, $this->apiProveedores2);
         curl_setopt($ch, CURLOPT_POST, true);
         curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
         $result = curl_exec($ch);
         $con = json_decode($result);
         foreach ($con as $p) {
             $provider = Provider::firstOrCreate(['rfc' => $p->rfc, 'name' => $p->name]);
             $provider->total = $p->total;
             // address
             $provider->street = $p->address->streetAddress;
             $provider->locality = $p->address->locality;
             $provider->region = $p->address->region;
             $provider->zip = $p->address->postalCode;
             $provider->country = $p->address->countryName;
             // contactPoint
             $provider->contact_name = $p->contactPoint->name;
             $provider->email = $p->contactPoint->email;
             $provider->phone = $p->contactPoint->telephone;
             $provider->fax = $p->contactPoint->faxNumber;
             $provider->url = $p->contactPoint->url;
             $provider->update();
         }
         echo $from . "<br>";
         $max_steps--;
         $from += $step;
         if ($max_steps < 1) {
             $walk = false;
         }
     }
 }