сохранить Auth :: user () - идентификатор в БД с помощью запроса sql на laravel - PullRequest
0 голосов
/ 17 апреля 2020

Я хочу сохранить Auth::user()->id в столбце по умолчанию user_id в запросе sql, указанном ниже,

Я попытался установить put таким образом, но не отправляет никаких данных в БД

public function saveLoadingsData() {

    //Validate for a valid Post Request
    if (isset($_POST['orderNumber']) && isset($_POST['Truck']) && isset($_POST['receiptNumber']) && isset($_POST['items'])) {

        // {"orderNumber":"CRS1104200001","agentId":"3","items":[{"itemId":"4","itemName":"Embe","quantity":"13"}]}

        $orderNumber = $_POST['orderNumber'];
        $items = $_POST['items'];
        $receiptNumber = $_POST['receiptNumber'];
        $Truck = $_POST['Truck'];
        $driverName = $_POST['driverName'];


        foreach ($items as $singleItem) {
            $data = array('order_no' => $orderNumber,'user_id'=>Auth::user()->id,"receiptNumber" => $receiptNumber, "Truck" => $Truck, "driverName" => $driverName, "pid" => $singleItem['itemId'], "qty" => $singleItem['quantity']);

            // print_r($data);
            DB::table('loadings')->insert($data);

            // return redirect()->back();
        }
            // return redirect()->back();

        echo "Success";

    }

моя ajax функция

 $("#btnSaveOrder").on('click', function(e){

var orderNumber=$("#order_no").val();
var receiptNumber=$("#receiptNumber").val();
var Truck=$("#Truck").val();
var driverName=$("#driverName").val();
var jsonData=convertTableToJson();

$.ajax('/api/loading/saveLoadingsData', {
  type: 'POST',
  data: {
    orderNumber:orderNumber,
    receiptNumber:receiptNumber,
     Truck:Truck,
    driverName:driverName,
    items:jsonData
  },
  success: function (data, status, xhr) {

    alert("Data Saved");
    document.location.reload(true);

  },
  error: function (jqXhr, textStatus, errorMessage) {
    console.log(errorMessage);

  }
  });

});

 var convertTableToJson = function(){
   var rows = [];
   $('table#tableSelectedItems tr').each(function(i, n){
    if (i!=0) {
      var $row = $(n);
      rows.push({
      itemId: $row.find('td:eq(0)').text(),
      itemName:   $row.find('td:eq(1)').text(),
      quantity:    $row.find('td:eq(2)').text(),

    });
  }
});
return rows;
};

мой маршрут API

Route::post('loading/saveLoadingsData', 'LoadingController@saveLoadingsData');

кто-то может мне помочь

1 Ответ

0 голосов
/ 18 апреля 2020

Я рекомендую вам следующее

Передайте объект $ request в ваш метод и зарегистрируйте все объекты, возможно, отсутствуют данные и по этой причине они не соответствуют условию:

saveLoadingsData(Request $request){
   Log::info(json_encode($request->all()));`
}

Затем проверьте файлы журналов, чтобы увидеть результат в /storage/logs/laravel.log

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...