我需要绝望的帮助。我是 laravel 和编程的新手。
我有一个销售 Controller ,它使用 jquery 和选择从表单中获取多条记录。
销售商店 Controller 看起来像:
for ($i=0; $i < count($request['product_id']); ++$i)
{
$sales= new Sale;
$sales->product_id = $request['product_id'][$i];
$sales->qty= $request['qty'][$i];
$sales->user_id = Auth::user()->id;
$sales->save();
$product = new Product;
$product->where('id', '=', $request['product_id'][$i])->decrement('stock', $request['qty'][$i]);
}
此代码运行良好。
现在的情况是我想获取这些最后创建的特定记录,以某种方式将其发送到其他页面或作为发票。关于如何实现这一目标的任何帮助将不胜感激?谢谢。
最佳答案
制作一个新数组
来保存销售和产品
数据并重定向
到您的所需的url
数据
。
$data = array();
for ($i=0; $i < count($request['product_id']); ++$i)
{
$sales= new Sale;
$sales->product_id = $request['product_id'][$i];
$sales->qty= $request['qty'][$i];
$sales->user_id = Auth::user()->id;
$sales->save();
$product = new Product;
$product->where('id', '=', $request['product_id'][$i])->decrement('stock', $request['qty'][$i]);
$data[]['sales'] = $sales;
$data[]['product'] = $product;
}
return redirect("/your desired url")->with('data', $data);
对于评论中的第二个问题,在你想要的 url
的 controller
函数中执行此操作 -
$data = [];
if ($request->session()->has('data')) {
$data = $request->session()->get('data');
}
return view('your view', compact('data'));
然后在你看来——
@foreach($data as $d)
{{$d['sales']}} //here $d['sales'] is your sales object
{{$d['product']}} //here $d['product'] is your product object
@endforeach
关于database - 获取或获取最新或最后在 laravel 中创建多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48606234/