for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Zgabievi\KendoGridState\Filters;
use Illuminate\Database\Eloquent\Builder;
use Zgabievi\KendoGridState\Contracts\FilterAbstract;
class Group extends FilterAbstract
{
/**
* @param Builder $builder
* @param $descriptors
* @return mixed
*/
public function filter(Builder $builder, $descriptors)
if (! is_array($descriptors)) {
return $builder;
}
foreach ($descriptors as $descriptor) {
$this->handle($builder, $descriptor);
* @param $descriptor
* @return \Illuminate\Database\Query\Builder|Builder
protected function handle(Builder $builder, $descriptor)
if (! is_array($descriptor) || is_null($descriptor['field'])) {
return $builder->groupBy(array_get($descriptor, 'field'));