获取或获取最新或最后在laravel中创建多个行

时间:2018-02-04 08:35:40

标签: database laravel laravel-5 laravel-eloquent

我需要绝望的帮助。我是laravel和编程的新手。

我有一个销售控制器,它使用jquery从表单中获取多个记录并选择。

Sales Store控制器如下所示:

    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]);

            }

这段代码工作正常。

现在的情况是,我想获取这些最后创建的特定记录,以某种方式将其发送到其他页面或作为发票。任何帮助将非常感谢如何实现这一目标?感谢。

2 个答案:

答案 0 :(得分:1)

new array数据sales and productredirect保存到desired url data

$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);

对于评论中的第二个问题,在您希望的controller的{​​{1}}函数中执行此操作 -

url

然后在你看来 -

$data = [];
if ($request->session()->has('data')) {
    $data = $request->session()->get('data');
}

return view('your view', compact('data'));

答案 1 :(得分:0)

你可以做到

$sales = Sale::latest()->take(count($request['product_id']))->get();

latest()将按创建日期的顺序按顺序排序所有销售。

如果count($request['product_id'])为5,则take()将获取前5个销售额。