【问题标题】:How to count rows of a column and use if condition for counting lower than 2 row to run specific code in laravel如何计算一列的行数并使用 if 条件计算小于 2 行以在 laravel 中运行特定代码
【发布时间】:2019-09-25 21:42:22
【问题描述】:

我想用referrer_id的where子句设置一个if条件,如果referrer_id列数少于2行,

我已经尝试过这段代码,但是 if 条件下的代码仍在运行,而结果超过 2 行。

$countU = User::where('referrer_id', $ref_id)->get();
        //$PaidStatus = User::where('paid_status', '1');

        if($countU->count() <= 2){

        $new = $ref_user['earning'] = $ref_user['earning'] + $percentage;
        $new_ball = $ref_user['balance'];
        $ref_user->save();
      }

请让我知道我哪里错了。

【问题讨论】:

  • 将您的 if 条件更改为 if($countU-&gt;count() &lt; 2){ //do the stuff } 试试这个,因为您的 id 条件会检查它是否小于或等于 2,而我的会检查它是否小于 2,然后执行其他操作忽略
  • 是的,解决了这个问题,谢谢。我还有一个问题,请回答这个。我想从带有两个 where 子句的表中获取所有记录,然后我想从返回的结果中调用变量中的列。这是查询:- $user_match = MemberExtra::where('left_bv', '>=', 1)->where('right_bv', '>=', 1); $user1 = $user_match->user_id; $ref_id = $user1->referrer_id; $ref_user = 用户::find($ref_id);
  • 我将其发布为答案,请接受并投票,也请将您的其他问题作为问题发布,这样如果我或其他人回答您,其他人也将获得帮助..谢谢

标签: php mysql laravel


【解决方案1】:

你应该像这样使用 count() 方法:

$countU = User::where('referrer_id', $ref_id)->count();

【讨论】:

    【解决方案2】:

    将您的 if 条件更改为:

    if($countU->count() < 2)
    {
       $new = $ref_user['earning'] = $ref_user['earning'] + $percentage;
       $new_ball = $ref_user['balance'];
       $ref_user->save();
    }
    

    尝试上述条件,因为您的 if 条件会检查它是否是 less than or equal to two 而我的条件会检查它是否是 less than two 然后做其他事情忽略

    谢谢。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-22
      • 1970-01-01
      • 1970-01-01
      • 2018-02-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多