Я использую laravel-jqgrid библиотеку "mgallegos/laravel-jqgrid"
.При использовании построителя запросов он работает нормально, но мое требование - использовать необработанные запросы.Как я могу справиться с этим?
Вот мои коды:
GridRepository.php:
namespace Repositories;
use \Illuminate\Support\Facades\DB;
use App\App;
use Mgallegos\LaravelJqgrid\Repositories\EloquentRepositoryAbstract;
class GridRepository extends EloquentRepositoryAbstract {
public function __construct($db_obj, $columns, $order_by)
{
$this->Database = $db_obj;
$this->visibleColumns = $columns;
$this->orderBy = $order_by;
}
}
GridController:
class JqGridController extends Controller {
protected $GridEncoder;
public function __construct(RequestedDataInterface $GridEncoder)
{
$this->GridEncoder = $GridEncoder;
}
public function getIndex()
{
return View::make('grid-apps');
}
public function postGridData()
{
$db_obj = DB::table('applications')
->join('branches', 'applications.branchid', '=', 'branches.id')
->whereNotIn('applications.status', ['Reject', 'Rejected', 'Deleted']);
$columns = array('applications.status','branches.name as branches.name', 'applications.created_at as applications.created_at', 'applications.amount');
$order_by = array(array('applications.created_at', 'asc'));
$this->GridEncoder->encodeRequestedData(new GridRepository($db_obj, $columns, $order_by), Input::all());
}
}
В поисковую систему jqgrid я добавил следующий код:
searching: {
closeAfterSearch: true,
closeAfterReset: true,
closeOnEscape: true,
searchOnEnter: true,
multipleSearch: true,
multipleGroup: true,
showQuery: true,
afterShowSearch: function(event){
console.log('event', event);
$(document).find('.add-group').hide();
}
}
Как мне добиться этого с помощью необработанного запроса?Поскольку мы использовали Ajax с датированными данными в необработанных запросах, есть сотни таблиц, созданных из таблиц данных.Теперь мы переходим на jqgrid, поэтому нам нужно меньше изменений.