Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/238.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/0/laravel/10.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_Laravel_Laravel 5_Eloquent - Fatal编程技术网

Php 获取Laravel中特定字段中的重复数

Php 获取Laravel中特定字段中的重复数,php,laravel,laravel-5,eloquent,Php,Laravel,Laravel 5,Eloquent,我有一个相对较短的列表,但我希望它的功能如下: 目前,通过在我的控制器中使用以下命令,我获得了一个清单列表,其原始状态为null(即,该特定记录从未被汇款): $unsentManifests = Carrier_Manifest::whereNull('originRemitStatus')->get(); 我把它们放到一个简单的列表中,你可以马上看到一些记录的副本。现在,虽然这确实让我感到困扰,但它不是目前的焦点 我希望能够获得重复记录的计数,这些记录具有相同的manifestNum

我有一个相对较短的列表,但我希望它的功能如下:

目前,通过在我的控制器中使用以下命令,我获得了一个清单列表,其原始状态为null(即,该特定记录从未被汇款):

$unsentManifests = Carrier_Manifest::whereNull('originRemitStatus')->get();
我把它们放到一个简单的列表中,你可以马上看到一些记录的副本。现在,虽然这确实让我感到困扰,但它不是目前的焦点

我希望能够获得重复记录的计数,这些记录具有相同的
manifestNumber
,但此时基用于计算有多少记录的原始组
$unsettmanifests
将字段
originremotestatus
设置为1

//相同的数据和预期结果//

从获取:

manifestNumber: 1234
originRemitStatus: null

manifestNumber: 1234
originRemitStatus: null

manifestNumber: 1234
originRemitStatus: 1

manifestNumber 9876
originRemit Status: null

manifestNumber 9876
originRemit Status: null

manifestNumber 4567
originRemit Status: null

manifestNumber 4567
originRemit Status: 1
返回结果:

  • 1234(1)
  • 9876(0)
  • 4567(1)
试试这个:

Carrier_Manifest::select('manifestNumber')
    ->selectRaw('SUM(IF(originRemitStatus = 1, 1, 0)) count')
    ->groupBy('manifestNumber');
    ->get();

你能添加一些样本数据和预期结果吗?@JonasStaudenmeir-我相信我已经包含了我试图想象的内容,但并不完全确定。如果您需要进一步的澄清,请让我知道,我会在上面键入更多信息。再次感谢-请您对答案给予反馈好吗?