【问题标题】:Converting multiple same name into one single name and also values get sum in laravel将多个相同的名称转换为一个名称,并且值在 laravel 中得到总和
【发布时间】:2020-12-11 02:12:05
【问题描述】:

我正在尝试将多个相同名称提取到单个名称,同时也将关联的 QTY 值相加。显示 PART-ID 原样

例子

我想这样展示

我的控制器

    public function productserach()
{ 
    $searchitem = Item_list::get();
    return view('products.product-serach',compact('searchitem'));
}

【问题讨论】:

  • 我会给 ua 提示,选择你想要显示的内容并为 qty 添加 sum 像这个例子 raw sum 和双重分组 name 和 part-id 像这个例子 groupBy
  • @Gzai Kun 你能发表你的答案吗
  • 请先按照说明试一下,我会看到你的结果,如果不正确我会帮忙改正;)
  • @Gzai Kun 我检查了文件,但它让我更加困惑,请帮助

标签: laravel laravel-5 eloquent laravel-5.8


【解决方案1】:
DB::table('your_table')->select(DB::raw('sum(qty) as qty,name,part_id'))->groupBy('name','part_id')->get()

所以基本上使用原始选择来汇总您想要的数量并按您想要唯一的字段分组。你也可以像上面一样使用 laravel eloquent,但稍微改变一下,因为它不正确,输出数据将与你想要的不同。

【讨论】:

  • "SQLSTATE[42S22]: 未找到列:1054 未知列 'sum(qty)'
  • public function totalproduct() { $totalproductlist = DB::table('item_lists')->select('sum(qty) as qty,product_name,part_no')->groupBy('product_name' ,'part_no')->get();返回视图('products.total-product',compact('totalproductlist')); }
  • @user12380208 抱歉忘记了 DB:raw 请检查答案
  • 忘记了 laravel select 需要值数组而不是 sql sum 方法
【解决方案2】:

你可以试试这个代码

use DB;

$sums = Model::select(DB::raw('sum(qty) as total_quantity'),'name')->groupBy('name')->get();

【讨论】:

  • 显示错误语法错误,意外的“产品”(T_STRING),期待“)”
  • 您的代码只是将多个名称变为单个名称,其他部分不起作用,qty 和 part_id
  • 你希望你必须保留在选择参数中的那些行,比如如果你想要 qty 然后在 "name","qty" ..... 像这样放 qty,你可以保留剩下的代码
猜你喜欢
  • 2020-10-24
  • 2023-01-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多