minnierapi
@minnierapi (ニ ミ)

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

laravel エラー

前提・実現したいこと

こんにちは。
Laravel初心者です。
現在取得した住所をGoogle geocording APIを使用して緯度経度に変換してDBに保存をしている最中です。
 primary keyの「id」の部分の重複でエラーが起きています。(AIで元からidは入っています)
これの対処法はどうしたら良いでしょうか?

発生している問題・エラーメッセージ

SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '1' for key 'PRIMARY' (SQL: insert into saunas (id, lat) values (1, 35.7129568))
エラーメッセージ

該当のソースコード

<?php

namespace App\Http\Controllers;

// use Illuminate\Support\Facades\Sa;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\Sauna;


class SaunaController extends Controller
{

  public function showList()
  {
    mb_language("Japanese");//文字コードの設定
    mb_internal_encoding("UTF-8");

  // ①住所一覧をデータベースから取得
$saunas = Sauna::select('address')->get();
$User_A = [];

  for ($i=1; $i <count($saunas); $i++) {
  $address = $saunas[$i]->address;
   $address = urlencode($address);
   $myKey = "KEy";
   $url = "https://maps.googleapis.com/maps/api/geocode/json?address=" . $address . "+CA&key=" . $myKey ;
   $contents = file_get_contents($url);
   $jsonData = json_decode($contents, true);
  $lat = $jsonData["results"][0]["geometry"]["location"]["lat"];

  $User_E = new Sauna();
  $User_E->id = $i;
  $User_E->lat = $lat;
  $User_A[] = $User_E->toArray();
break;
}
Sauna::insert($User_A);
  }
}

 

0

No Answers yet.

Your answer might help someone💌