Когда отсортированный массив попадает на фрактальный фасад, массив не сортируется - PullRequest
0 голосов
/ 28 сентября 2019

Я пытаюсь получить данные из базы данных, затем упорядочить их в соответствии с типом сортировки, который отправляется, поэтому я делаю это

public function getStoreProducts($store_id): array
    {
        $products = Product::with('translation', 'image', 'price', 'group.translation', 'group.subcategory.subCategoryTranslations','store')
            ->where('store_id',$store_id)->where('product_status', '=', 2)
            ->groupBy('group_id');
        if (request()->has('sort') && !empty(request()->get('sort'))) {
            if (request()->get('sort') === 'date') {
                $products = $products->orderBy('created_at', 'DESC');
            }elseif (request()->get('sort') == 'price'){
                $products = $products->whereHas('price')->with(array('price'=>function($query){
                    $query->orderBy('sell_price','asc');
                }));
            }elseif (request()->get('sort') == 'price-desc'){
                $products = $products->whereHas('price')->with(array('price'=>function($query){
                    $query->orderBy('sell_price','desc');
                }));
            }
        }


        return $this->toArray($products->paginate(15));
    }

, чтобы данные сортировались, но когда я передаю их фрактальному преобразователю, они получаютнесортировать, так как я могу предотвратить эту операцию

$products = $this->repository->getStoreProducts($store_id);

        $data = FractalFacade::collection($products["data"])
            ->transformWith(new ProductTransformer())
            ->parseIncludes(['translation', 'price', 'images', 'group.sub_category_translation', 'group.group_translation'])
            ->toArray();
        dd($data); 

Но я заметил, что эта проблема возникает, когда сортировка выполняется по отношению. Так, например, когда я сортирую, основываясь на поле create_at, являющемся полем в продукте, которое получают Продукты.сортировать по мере ввода, но при сортировке данных на основе цены, которая является отношением с продуктами, поэтому введенные данные отсортированы, но они не отсортированы, поэтому как решить эту проблему

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...