首页 > 解决方案 > SQLSTATE [23000]:违反完整性约束:1048 列 'dest_address' 不能为空

问题描述

我在将数据插入数据库时​​遇到问题。

地址框填满了谷歌地图中的确切地址。我想插入数据库,它显示我的属性为空。

我的刀片的图像

我不知道从刀片的 JS 传递数据或任何可能的数据,以便属性“dest_address”不为空。

脚本.js

var map;
var myLatLng;
var searchBox;

$(document).ready(function() {
  map = new google.maps.Map(document.getElementById('map'), {
    center: {
      lat: 27.72,
      lng: 85.36
    },
    zoom: 15
  });

  var marker = new google.maps.Marker({
    position: {
      lat: 27.72,
      lng: 85.36   
    },
    map: map,
    draggable: true
  });

  searchBox = new google.maps.places
    .SearchBox(document.getElementById('dest_address'));

  google.maps.event.addListener(searchBox, 'places_changed', function() {

    var places = searchBox.getPlaces();
    var bounds = new google.maps.LatLngBounds();
    var i, place;

    for (i = 0; place = places[i]; i++) {
      bounds.extend(place.geometry.location);
      //set marker position new
      marker.setPosition(place.geometry.location);
    }
    map.fitBounds(bounds);
    map.setZoom(15);
  });

  google.maps.event.addListener(marker, 'position_changed', function() {
    var lat = marker.getPosition().lat();
    var lng = marker.getPosition().lng();
  
    $('#lat').val(lat);
    $('#lng').val(lng);
  });
});

DestinationAdd.blade.php

<div class="form-group row">
  <label for="dest_address" class="col-sm-2 col-form-label">Address</label>
  <div class="col-sm-10" >
    <input type="text" class="form-control input-sm" id="dest_address">
  </div>
  <div id="map"></div>
</div>

到目前为止,我的控制器很好,因为我尝试先插入经度和纬度而不插入地址,并且经度和纬度在数据库中。

标签: phplaravel

解决方案


您输入的 dest_address 没有 name 属性。

<input type="text" class="form-control input-sm" id="dest_address" name="dest_address">

请记住 ID attr 仅用于识别 HTML 元素,但您需要一个名称才能在控制器中接收数据。

请试试这个,让我知道它是如何工作的:)


推荐阅读