Так что это довольно сложный вопрос. Исходя из моего последнего вопроса, который показывает, как я сохраняю массив в базу данных.
Ошибка преобразования массива в строку Laravel - Попытка сохранить массив в базу данных - Возможно, мне придется изменить способ сохранения в базе данных, чтобы он отображался правильно.
Я использую API карт Google в laravel, где пользователь может создать маршрут, сохранить его (в базе данных), а после входа в систему снова просмотреть его, отредактировать или удалить.
Функция waypoints работает, поэтому при нажатии кнопки + появляются дополнительные поля ввода - так пользователь их добавляет.
функция путевых точек при показе. Клинок
var counter = 1;
var limit = 10;
var i = 0;
function addInput(divName) {
if (counter == limit) {
alert("You have reached the limit of adding " + counter + " additional destinations");
} else {
var newbr = document.createElement('br');
var newinput = document.createElement("input");
newinput.setAttribute("name","waypoints");
newinput.setAttribute("autocompute","on");
newinput.setAttribute("type", "text");
newinput.setAttribute("class", "form-control");
// newin = (counter + 1) + "<input type=text name=waypoints autocomplete=on>";
document.getElementById(divName).appendChild(newbr);
document.getElementById(divName).appendChild(newinput);
counter++;
i++;
console.log("cntr=" + counter + " i=" + i + " waypoints.length=" +document.getElementsByName("waypoints"));
// var inputw = waypoints[i];
var autocompletew = new google.maps.places.Autocomplete(newinput);
autocompletew.setComponentRestrictions({'country':['uk','irl']});
}
}
Сохраняется в базу данных, как показано в myroutescontroller.php
public function store(Request $request)
{
if (Auth::check()) {
Myroutes::create([ //posting to acc table
'user_id' => Auth::user()->id,
'start' => $request->start,
'end' => $request->end,
'waypoints' => $request->waypoints
]);
return redirect('/');
} else {
return redirect('/login');
}
}
И показывает из базы данных в show.blade
<div id="dynamicInput" class="form-group">
<label>Additional Destinations</label>
<input type="text" name="waypoints" class="form-control" autocomplete="on" value="{{ $myroute->waypoints }}">
</div>
<input type="button" class="btn btn-secondary" value="+" onClick="addInput('dynamicInput');" style="padding:0 10px;">
Поскольку путевые точки сохраняются в виде строки в базе данных, если маршрут имеет несколько путевых точек, его список в одном поле ввода, как показано на рисунке ниже.
показ из базы данных
Когда это должно выглядеть следующим образом (это когда пользователь создает и добавляет маршрут в базу данных).
добавление в базу данных
Буду очень признателен за любые идеи и помощь, поскольку я знаю, что это довольно сложно, спасибо!