php - laravel 5 在保存到数据库之前查询请求循环

标签 php mysql laravel

请我确实有一个问题,我想要一些多个输入字段,该字段将保存到数据库,但在保存之前,我想转到其他表来检查数量和一些其他功能,以便如果请求字段之一循环失败不满足要求,它会拉回错误响应,例如第 5 项的数量不足以发送

这是当前发送到数据库的代码

   public function store(Request $request, $id){
    $data = $request->except('_token');

    $productName = count($data['productName']);
    for($i=0; $i < $productName; $i++){

        $stt = new StockTransferTransaction;

        $stt->stock_id = $data['productName'][$i];
        $stt->rate = $data['rate'][$i];


        $stt->quantity = $data['quantity'][$i];
        $stt->valuation = $data['totalValue'][$i];
        $stt->stock_transfer_id = $id;


        // this is where i would love to perform the quantity checks before saving 

        $stock = Stock::where('id', $productName)->get();

        dd($stock);

        $stt->save();

    }



}

最佳答案

首先,您使用的是计数: $productName = count($data['productName']);
作为id $stock = Stock::where('id', $productName)->get();

您可以收到如下支票:

for($i=0; $i < $productName; $i++){

  $stock = Stock::find(/*StockID*/);
  //dd($stock);

  if ($stock) {
    //Error message
  }
  else {
    $stt = new StockTransferTransaction;

    $stt->stock_id = $data['productName'][$i];
    $stt->rate = $data['rate'][$i];


    $stt->quantity = $data['quantity'][$i];
    $stt->valuation = $data['totalValue'][$i];
    $stt->stock_transfer_id = $id;

    $stt->save();
  }
}

关于php - laravel 5 在保存到数据库之前查询请求循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48275131/

相关文章:

php - Blueimp jQuery 文件上传与数据库集成

php - 谷歌地图通过抓取访客的 IP 地址来显示访客的位置

python - 从python脚本将unicode插入MySQL数据库

mysql - 使用wordpress修复从数据库检索数据的格式

javascript - 如何用Node.js异步查询大量数据?

php - 使用 Eloquent 进行一些复杂的查询

php - 如何在 Silverstripe 中设置页面类型的默认安全访问?

php - 如何使用 LARAVEL 将抓取的数据发送到 Mysql 表

mysql - 如何在 Laravel 中组合四个查询?

php - 在链接内传递变量仅适用于多词变量中的第一个词,为什么?