SQLSTATE [23000]:违反完整性约束:1048列“ dest_address”不能为空

时间:2018-12-26 17:29:41

标签: php laravel

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

地址栏中将填充Google地图中的确切地址。我想插入数据库,这表明我的属性为null。

image of my blade

我不知道要通过JS刀片传递数据还是可能的任何方式,以使属性“ dest_address”不为空。

script.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>

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

1 个答案:

答案 0 :(得分:1)

您输入的目标地址没有名称属性。

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

记住ID属性仅用于标识HTML元素,但是您需要一个名称来接收控制器中的数据。

请尝试一下,让我知道它如何工作:)