【问题标题】:Count when a user order a product当用户订购产品时计数
【发布时间】:2021-10-09 04:38:36
【问题描述】:

我想在用户登录并订购某些产品时进行计数 这是我的桌子

  • 用户: ID(1 到多个->订单)、姓名、电子邮件、地址、电话

  • 订单: id、id_user、id_product、日期、价格、total_order、total_price

我写过

$count = order::where('id_user','Auth->user()')->count();

如果我这样写,上面的代码不起作用

$count = order::all()->count();

它可以工作,但即使我使用不同的用户登录也会计算所有数据

【问题讨论】:

  • 'Auth->user()' 更改为auth()->user()->idauth()->id() 注意单引号
  • 你搞错了。应该是$count = order::where('id_user', auth()->id())->count();

标签: php laravel


【解决方案1】:

根据用户模型建立关系

public function orders(){
    return $this->hasMany(Order::class, 'parent_id', 'id');
}

然后你可以像这样调用任何你想要的地方

auth()->user()->orders->count()

【讨论】:

    【解决方案2】:

    'Auth->user()'首先你尝试了一个字符串而不是登录用户的id,你必须删除引号并添加use Auth;来导入这个类然后使用它。

    use Auth;
    
    $count = order::where('id_user', Auth::user()->id)->count();
    
    

    【讨论】:

      【解决方案3】:

      您必须尝试它是否正常工作

      $count = order::where('id_user',auth()->user()->id)->count();
      

      $count = order::where('id_user',auth()->id())->count();
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-08-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-10-16
        • 1970-01-01
        • 2017-05-08
        • 1970-01-01
        相关资源
        最近更新 更多