Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel通过追加模型添加查询结果_Php_Mysql_Laravel_Eloquent - Fatal编程技术网

Php Laravel通过追加模型添加查询结果

Php Laravel通过追加模型添加查询结果,php,mysql,laravel,eloquent,Php,Mysql,Laravel,Eloquent,我想在我的模型中附加一个特定的列,它是返回\u count它基于一个查询。但当我执行它时,它给了我错误的结果。所有结果的值都相同。有人能帮我吗。我想我快拿到了。谢谢 模型 此查询中的计数结果 $clientCount = array(); foreach ($usersMws as $data){ $returnCount = AdminMwsReturnsEligiblesData::where('users_mws_id', $data->i

我想在我的模型中附加一个特定的列,它是
返回\u count
它基于一个查询。但当我执行它时,它给了我错误的结果。所有结果的值都相同。有人能帮我吗。我想我快拿到了。谢谢

模型

此查询中的计数结果

  $clientCount = array();
        foreach ($usersMws as $data){
            $returnCount = AdminMwsReturnsEligiblesData::where('users_mws_id', $data->id)->count();
            $clientCount[] = $returnCount;
            
        }
        dd($clientCount);

要获取属性数据,请避免使用for循环。它可能会导致滞后

试试这个代码。我将查询分为范围。和附件必须是直接的

protected $appends = [
        'returns_count'
    ];

 public function getReturnsCountAttribute(){
        return AdminMwsReturnsEligiblesData::where('users_mws_id', $this->id)->count();
    }


范围:

public function scopeReturnCount($query)
    {
        $query->select('users_mws.*')->join(
            'users',
            'users_mws.user_id',
            '=',
            'users.id'
        )
        ->where('users.status','<>','Dumped2')
        ->orderBy('users_mws.mws_name','asc');

        return $query;
    }

模型范围的函数也可以携带附录数据。

返回$clientCount看起来不正确,可能会在第一个循环后停止。我看到了sir@NigelRen,但是当我把它放在循环外时,它就不会再运行了,执行时间最多为60秒。我需要做什么?您使用的是什么版本的Laravel?它的
“Laravel/framework”:“^6.0”
sir@RwdAs Nigel Ren如上所述,移动
return
语句,使其位于
foreach
循环下方。感谢您的详细回答。这个也在工作。再次感谢
  0 => 191
  1 => 16
  2 => 6
  3 => 3
  4 => 25
  5 => 4
  6 => 35
  7 => 0
  8 => 115
  9 => 1
  10 => 18
  11 => 68
  12 => 14
  13 => 0
  14 => 36
  15 => 32
  16 => 147
  17 => 8
 ...
protected $appends = [
        'returns_count'
    ];

 public function getReturnsCountAttribute(){
        return AdminMwsReturnsEligiblesData::where('users_mws_id', $this->id)->count();
    }


public function scopeReturnCount($query)
    {
        $query->select('users_mws.*')->join(
            'users',
            'users_mws.user_id',
            '=',
            'users.id'
        )
        ->where('users.status','<>','Dumped2')
        ->orderBy('users_mws.mws_name','asc');

        return $query;
    }
$users = UsersMws::returnCount()->get();