为了账号安全,请及时绑定邮箱和手机立即绑定

使用 Laravel Eloquent 进行选择和计数

使用 Laravel Eloquent 进行选择和计数

PHP
慕码人8056858 2022-07-22 19:21:08
我正在使用 Laravel 做一个小项目,现在我在 HTML 表中显示我在数据库中的产品。所以现在我创建了另一个名为 variables 的数据库表来存储产品variants,我想count the number of variants我有each product 这是我的代码:如您所见,我还选择了categories, brands, suppliers 我想计算的数量variants (因为我已经有一个名为的表variants,包含该product_id字段)public function index(){    $products = Product::with(['category', 'brand', 'supplier'])->orderBy('id', 'desc')->paginate(15);    return response()->json($products);}
查看完整描述

1 回答

?
江户川乱折腾

TA贡献1851条经验 获得超5个赞

我假设你的product表与 有很多关系variants。正如你在评论中所说products.id & variants.product_id


使用 hasMany 关系在产品模型中制作功能变体。


Class Product extends Model{

    public function variants(){

        return $this->hasMany('App\Variant','product_id','id');

    }

}

现在你可以通过使用来调用它withCount


public function index()

{

    $products = Product::with(['category', 'brand', 'supplier','variants'])->withCount('variants')->orderBy('id', 'desc')->paginate(15);

    return response()->json($products);

}

因此,您也会得到product配合variants和计数。


查看完整回答
反对 回复 2022-07-22
  • 1 回答
  • 0 关注
  • 157 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号