Laravel AJAX: вставить с l oop (цикл строки таблицы БД) - PullRequest
0 голосов
/ 18 марта 2020

Я новичок в Laravel и Ajax, и у меня есть рабочий код (см. Ниже).

У меня есть 2 таблицы, критерии и рейтинг.

Я хочу сначала запросите таблицу с именем: критерий типа (select * from criteria where level = 1), затем, используя результат, я хочу сохранить несколько строк в «рейтингах», используя какое-то поле результата запроса + некоторую входную переменную от пользователя.

Вот так:

for (i = 0; i < criteria-result.length; i++) {
   $addItem= New Rating;
   $addItem->empname = $request->empname; //this is from user this is a repeating value
   $addItem->criteria = criteria-result[i].(criteria)
}

Существующий Ajax:

$.ajax({
type: 'POST',
url: 'generate-rating-criteria',
data: {
'employee_name':  $("#emp_name").text(),
},
success: function()
{
    swal("Saved", "Ok", "success")
},
error: function(xhr, status, error)
{

    var err = eval("(" + xhr.responseText + ")");
     alert(err.Message);
}
});

Существующий контроллер:

 $addItem= New Rating;
 $addItem->employee_name =  $request->employee_name;
 $addItem->save();

1 Ответ

0 голосов
/ 18 марта 2020

Вы можете просто использовать метод count () вместо длины.

$criteria = DB::table('criteria')->where('level', 1)->get();

for ($i = 0; $i < count($criteria); $i++) {
    $addItem= New Rating;
    $addItem->empname = $request->empname;
    $addItem->criteria = $criteria[$i]->criteria; /* if criteria column exist in the rating table. */
    $addItem->save();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...