我正在尝试从数据库中获取一个项目,只显示它在视图中是否已经存在于其他地方。
我现在拥有的是,我将数据库中的项目放入具有可排序列表的视图中,以便可以拖动订单。然后对列表进行排序,并将订单保存为json。在store方法中,项目附加到相应的json数据,以便可以将其返回到同一视图以供显示。
问题是现在项目以正确的顺序显示,但它也会显示原始未分类的项目,每次保存订单时都会在顶部添加相同的项目。
我是如何解决这个问题的,或者是否有更好的方法?
<form id="serializeForm" action="{{ route('storeConcept', $id) }}" method="post">
{{ csrf_field() }}
<input id="serialize_output2" type="text" class="form-control" name="serialize">
<button id="createConceptButton" type="submit" class="btn btn-default">Save order</button>
</form>
<ol class='sortableTheme'>
<!-- Get all items from storage for sorting-->
@isset($items)
@foreach($items as $item)
<li data-id="{{$item->id}}" data-name="{{$item->name}}" data-type="item">
data
</li>
@endforeach
@endisset
<!-- Get item order from controller when save button is clicked-->
@isset($json)
@foreach($json as $key => $sortable)
<li data-id="{{$sortable->id}}" data-name="{{$sortable->name}}" data-type="item">
data
</li>
@endforeach
@endisset
</ol>
编辑:从我的编辑视图添加代码
答案 0 :(得分:0)
我修复了它(更像是一种解决方法),添加了一个额外的ol,只有在我加载保存的项目时才可以拖动。比那些可以拖入保存位置的ol。
<ol class='sortableTheme'>
<!-- Get item order from controller when save button is clicked-->
@isset($json)
@foreach($json as $key => $sortable)
<li data-id="{{$sortable->id}}" data-name="{{$sortable->name}}" data-type="item">
data
</li>
@endforeach
@endisset
</ol>
<ol class="draggable>
<!-- Get all items from storage for sorting-->
@isset($items)
@foreach($items as $item)
<li data-id="{{$item->id}}" data-name="{{$item->name}}" data-type="item">
data
</li>
@endforeach
@endisset
</ol>