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 : '∞';
//})
->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 : '—';
})
//->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