承接 diego-drese/laravel-datatables-mongodb 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

diego-drese/laravel-datatables-mongodb

最新稳定版本:1.0.2

Composer 安装命令:

composer require diego-drese/laravel-datatables-mongodb

包简介

Laravel 11 DataTables plugin to support Mongodb

README 文档

README

Latest Stable Version Total Downloads License

This package is a plugin for Laravel DataTables to support Mongodb using Laravel Mongodb

Requirements

Documentation

This plugin provides most functionalities described in the Laravel Datatables documentation. See Known issues below

Installation

composer require diego-drese/laravel-datatables-mongodb:^1.0

Configure

Check the Laravel DataTables configuration for how to configure and use it.

If you want the datables() and/or of methods to automatically use the correct datatables engine,

Unfortunately we cant use auto-discovery yet, this package will be discoverd before laravel-datatables is and that will overwrite the engines config at the moment

or open the config/datatables.php file and add the engines manually to the config:

    /**
     * Datatables list of available engines.
     * This is where you can register your custom datatables engine.
     */
    'engines'        => [
        // The Jenssegers\Mongodb classes extend the default Query/Eloquent classes
        // thus the engines need to be listed above the default engines
        // to make sure they are tried first
        'moloquent'      => DiegoDrese\DataTables\MongodbDataTable::class,
        'mongodb-query'  => DiegoDrese\DataTables\MongodbQueryDataTable::class,
        'mongodb-hybrid' => DiegoDrese\DataTables\HybridMongodbQueryDataTable::class,

        'eloquent'       => Yajra\DataTables\EloquentDataTable::class,
        'query-builder'  => Yajra\DataTables\QueryDataTable::class,
        'collection'     => Yajra\DataTables\CollectionDataTable::class,
    ],

    /**
     * Datatables accepted builder to engine mapping.
     * This is where you can override which engine a builder should use
     * Note, only change this if you know what you are doing!
     */
    'builders'       => [
        MongoDB\Laravel\Eloquent\Builder::class             => 'moloquent',
        MongoDB\Laravel\Query\Builder::class                => 'mongodbQuery',
        MongoDB\Laravel\Helpers\EloquentBuilder::class      => 'eloquent',
        //Illuminate\Database\Eloquent\Relations\Relation::class => 'eloquent',
        //Illuminate\Database\Eloquent\Builder::class            => 'eloquent',
        //Illuminate\Database\Query\Builder::class               => 'query',
        //Illuminate\Support\Collection::class                   => 'collection',
    ],

Usage

Use the datatables() method

For this to work you need to have the class definitions added to the engines and builders datatables configuration, see above.

use \App\MyMongodbModel;

$datatables = datatables(MyMongodbModel::all());

Use the dataTable class directly.

use Pimlie\DataTables\MongodbDataTable;

return (new MongodbDataTable(App\User::where('id', '>', 1))->toJson()

Use via trait.

  • Add the MongodbDataTableTrait trait to your model.
use MongoDB\Laravel\Eloquent\Model;
use DiegoDrese\DataTables\Traits\MongodbDataTableTrait;

class User extends Model
{
	use MongodbDataTableTrait;
}
  • Call dataTable() directly on your model.
Route::get('users/data', function() {
	return User::dataTable()->toJson();
});

Known issues

  • the orderColumn and orderColumns methods are empty placeholders and do nothing
  • there is currently no support for viewing/searching/ordering on (non-embedded) relationships between Models (eg through a user.posts column key)

统计信息

  • 总下载量: 946
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-01-24