laravel エラー
Q&A
Closed
前提・実現したいこと
こんにちは。
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