如果laravel中不存在连接表数据,如何设置默认值?

纳比尔·法汉

我有两张桌子。productinventory我想 LEFT JOINproductinventory. 还有一个基于inventory.stock 的求和操作。

我的代码如下,

DB::table('product')
    ->leftjoin('inventory','product.id','=','inventory.product_id')
    ->select('product.id as id',
            'product.name as name',
            'product.color as color',
            'product.unit_price as unit_price',
            DB::raw('SUM(inventory.stock)::integer as available_stock'))
     ->groupBy('product.id')
     ->get();

我的问题是有很多产品在库存表中没有行。在那种情况下,available_stock它给了我null而不是null我想显示一个默认字符串。诸如“无库存”或“0”之类的东西。我怎样才能做到这一点?

我正在使用 postgresql。

达瓦尔·普罗希特

通过这种方式,您可以设置可用库存的默认值。

当库存不可用时,这将给出零。

DB::table('product')
->leftjoin('inventory','product.id','=','inventory.product_id')
->select('product.id as id',
        'product.name as name',
        'product.color as color',
        'product.unit_price as unit_price',
        DB::raw('(case when inventory.product_id is null then 0 else SUM(inventory.stock)::integer end) as available_stock'))
 ->groupBy('product.id')
 ->get();

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如果XDocument对象中不存在属性的默认值,如何设置

表上不存在如何为数据设置默认值

如果条目不存在,则mysql设置默认值

C#AutoMapper-如果源中不存在默认值,则在dest属性中设置默认值

对象属性中的默认值(如果不存在)

如果密钥不存在,则在会话中设置默认值

XML到数据框如果节点不存在,如何获取默认值

如果不存在值,如何在枚举中获取默认值

如果Lodash模板中不存在给定属性,如何添加默认值

如果请求主体中不存在该属性,是否可以设置属性调解器的默认值?

角度:如果项目的属性不存在,请在ng-repeat中设置默认值

如果不存在,如何使Javascript参数默认为默认值?

使用环境变量或默认值(如果不存在)设置 PowerShell 变量

如果options对象不存在,则将boolean设置为默认值

如果节点不存在,则XSLT将默认值设置为“ 0”

如果不存在参数,则提供默认值

如果键不存在,则字典返回默认值

MySql使用默认值(如果搜索不存在)

如果关系不存在,Laravel 会使用默认值获取 Eloquent 关系吗?

如果数组中不存在密钥,则在json中搜索密钥添加默认值

ssis如果源文件中不存在,则使用默认值添加列

气流:当变量无例外地不存在时,在代码中设置默认值

不存在键时从pandas数据框中获取默认值

不存在变量的默认值

如果字段不存在,则获取字段值;如果不存在,则获取默认值,DRF

使用省略号将参数传递给函数,并为某些参数(如果不存在)设置默认值

Laravel Collections:提取指定的键集并将不存在的键设置为默认值

如何在文件中搜索模式,然后提取模式的一部分,或者如果模式不存在,则提供默认值?

Puppet-遍历哈希时在hiera中不存在的情况下在清单中设置默认值