2

I shifted my database from mySql to monogdb of my e-commerce application. I have created all the monogodb collections as in mySQL and models extended Jenssegers\Mongodb\Eloquent\Model.

Rest all works as usual, But i get error in ajax call of yajra datatable: "error=Exception Message: $meta is the only expression supported by $sort right now"

Can anyone help me to figure out what error is all about.

Ajax function code is here:

    public function ajax()
    {
        //dd($this->query()->toSql());
        $data = $this->table
            ->eloquent($this->query())

            ->editColumn('name', function ($item) {
                if (!Auth::user()->hasPermission('products.edit')) {
                    return $item->name;
                }

                return Html::link(route('products.edit', $item->id), $item->name);
            })
            ->editColumn('image', function ($item) {
                if ($this->request()->input('action') == 'csv') {
                    return RvMedia::getImageUrl($item->image, null, false, RvMedia::getDefaultImage());
                }

                if ($this->request()->input('action') == 'excel') {
                    return RvMedia::getImageUrl($item->image, 'thumb', false, RvMedia::getDefaultImage());
                }

                return view('plugins/ecommerce::products.partials.thumbnail', compact('item'))->render();
            })
            ->editColumn('checkbox', function ($item) {
                return $this->getCheckbox($item->id);
            })
            ->editColumn('price', function ($item) {
                $price = format_price($item->sale_price);

                if ($item->sale_price != $item->price) {
                    $price .= ' <del class="text-danger">' . format_price($item->price) . '</del>';
                }

                return $price;
            })
            //->editColumn('quantity', function ($item) {
            //    return $item->with_storehouse_management ? $item->quantity : '&#8734;';
            //})
            
            ->editColumn('is_featured', function ($item) {
                return $item->is_featured ? 'Yes' : 'No';
            })
            ->editColumn('is_exipred', function ($item) {
                return $item->is_exipred ? 'Yes' : 'No';
            })
            
            ->editColumn('sku', function ($item) {
                return $item->sku ? $item->sku : '&mdash;';
            })
            //->editColumn('order', function ($item) {
            //    return view('plugins/ecommerce::products.partials.sort-order', compact('item'))->render();
            //})
            ->editColumn('created_at', function ($item) {
                return BaseHelper::formatDate($item->created_at);
            })
            ->editColumn('status', function ($item) {
                return $item->status->toHtml();
            });

        return apply_filters(BASE_FILTER_GET_LIST_DATA, $data, $this->repository->getModel())
            ->addColumn('operations', function ($item) {
                return $this->getOperations('products.edit', 'products.destroy', $item);
            })
            ->escapeColumns([])
            ->make(true);
    }

Thanks

techieMad
  • 31
  • 4
  • I also find question with same error with no solution due to insufficient information https://stackoverflow.com/questions/69703952/not-able-to-get-data-from-mongodb-in-a-plugin-yajra-datatables-in-laravel-8 – techieMad Mar 11 '22 at 13:27

0 Answers0