DB::table('my_table')->insertGetId([
...
'code' => $data['code'],
'geopoint' => \DB::raw('POINT(?, ?)', [$data['lat'], $data['lng']]),
...
]);
戻ります
Invalid parameter number (SQL: insert into `residence` (`code`, values (POINT(, ), , ?, ?)
どうすればこれを修正できますか?
ありがとう
この方法を試してください
挿入する値の配列を作成し、テーブルのフィールド名と同じキーを適用します
$point = DB::select("SELECT POINT($data['lat'], $data['lng']) as point FROM `any_table_name_avilable_in_your_db` LIMIT 1");
$data=array(
"lat_field_name_table"=>$data['lat'],
"lng_field_name_table"=>$data['lng'],
"location"=>$point[0]->point
);
$checkinsert=DB::table('mytablename')->insert($data);
データがこのように挿入されているかどうかを確認します
if($checkinsert>0){
//data inserted
//do whatever you want if inserted
}else{
//data not inserted
//do whatever you want if not inserted
}
またはこのようにあなたの方法で:
$point = DB::select("SELECT POINT($data['lat'], $data['lng']) as point FROM any_table_name_avilable_in_your_db LIMIT 1");
DB::table('my_table')->insertGetId([
...
'code' => $data['code'],
'geopoint' =>$point[0]->point ,
...
]);
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加