Laravel 拖放不存储在数据库表中

问题描述 投票:0回答:1

我的模式表单中有一个拖放功能,用户可以将项目从左向右拖动,但在保存时,它不会将拖放的项目存储在数据库中。我已将输入标记中的

name
设置为等于控制器输入,但仍然没有结果。有人可以提供帮助吗?

我的控制器:

public function storesurvey(Request $request)
{
    $energy = new Customer();
    $energy->customername = $request->input('customername');
    $energy->rank1 = $request->input('rank1');
    $energy->rank2 = $request->input('rank2');

    $energy->save();

    return redirect('/survey')->with('success', 'data added');
}

我的看法:

< script >
  function allowDrop(ev) {
    ev.preventDefault();
  }

function drag(ev) {
  ev.dataTransfer.setData("text", ev.target.id);
}

function drop(ev) {
  ev.preventDefault();
  var data = ev.dataTransfer.getData("text");
  ev.target.appendChild(document.getElementById(data));
}
// the Ajax Post update 
$.ajax({
  type: "POST",
  dataType: "json",
  url: "{{ url('Custom-sortable') }}",
  data: {
    order: order,
    _token: token
  },
  success: function(response) {
    if (response.status == "success") {
      console.log(response);
    } else {
      console.log(response);
    }
  }
}); <
/script>
<style>.container {
  max-width: 700px;
  margin: 0 auto;
  border: 1px solid #ccc;
  padding: 10px;
  height: 300px;
  display: flex;
  justify-content: space-between;
}

.source-container {
  width: 300px;
  border: 1px solid #ccc;
}

.item {
  height: 30px;
  border: 1px solid #ccc;
  margin: 2px;
  background-color: lightyellow;
  cursor: move;
}

.item p {
  text-align: center;
  margin: 5px;
}

.source {
  position: relative;
  border: 1px solid #ccc;
  margin: 5px;
  height: 36px
}

.destination-container {
  width: 300px;
  border: 1px solid #ccc;
}

.destination {
  height: 36px;
  border: 1px solid #ccc;
  margin: 5px;
  background: #f1f1f1;
  border-left: 30px solid #ccc;
  position: relative;
}

.ui-droppable-active {
  border-color: #bbb;
}

.ui-droppable-hover {
  background: #ddd;
}

.destination span {
  position: absolute;
  z-index: 2;
  padding: 9px;
  left: -28px;
}

.ui-draggable-dragging {
  z-index: 999 !important;
}

</style>
<h2>Drag and Drop</h2>
<div class='container'>
  <div class="source-container">
    <div class="source" ondrop="drop(event)" ondragover="allowDrop(event)">
      <div class="item" value="item" name="rank1" draggable="true" ondragstart="drag(event)" id="rank1">
        <p>Item 1</p>
      </div>
    </div>
    <div class="source" ondrop="drop(event)" ondragover="allowDrop(event)">
      <div class="item" value="item2" name="drag2" draggable="true" ondragstart="drag(event)" id="drag2">
        <p>Item 2</p>
      </div>
    </div>
  </div>
  <div class='destination-container'>
    <div class="destination" name="rank1" value="rank1" id="rank1" ondrop="drop(event)" ondragover="allowDrop(event)">
      <span>1</span>
    </div>
    <div class="destination" name="rank2" value="rank2" id="rank2" ondrop="drop(event)" ondragover="allowDrop(event)">
      <span>2</span>
    </div>
  </div>
</div>

javascript html mysql laravel laravel-8
1个回答
0
投票

你检查过型号吗? Fillable 必须包含用于存储更改的列的名称。如果那里是 true,则将其放入验证控制器中并在视图中获取错误消息

© www.soinside.com 2019 - 2024. All rights reserved.