nabcellent / codeigniter4-eloquent
The Illuminate/Eloquent package for CodeIgniter 4.
Requires
- php: ^7.3|^8.0
- codeigniter4/framework: ^4
- illuminate/database: ^8.64
- illuminate/events: ^8.65
- illuminate/pagination: ^8.64
Requires (Dev)
- phpunit/phpunit: ^9.5
README
Codeigniter Database package.
This started as a fork from agungsugiarto/codeigniter4-eloquent. Changes include:
- Support for PHP 7.4 and above.
- Updated illuminate/database to 8
- Updated illuminate/pagination to 8
Installation
Include this package via Composer: Add -W to downgrade psr/container package as Illuminate/container needs that version.
composer require nabcellent/codeigniter4-eloquent -W
Publish config
publish the config file with following spark command
php spark eloquent:publish
Customizing view pagination
The default view for pagination available with preset for bootstrap4 and basic html, if you want to customize
just copy from \vendor\nabcellent\codeigniter4-eloquent\src\Views\Bootstrap4.php
and modify with your style after that put on folder App\Views. Finnaly change your config in App\Config\Eloquent.php
Setup services eloquent
Open App\Controllers\BaseController.php
add service('eloquent');
on function initController
//-------------------------------------------------------------------- // Preload any models, libraries, etc, here. //-------------------------------------------------------------------- // E.g.: // $this->session = \Config\Services::session(); service('eloquent');
Usage
Example model
<?php namespace App\Models; use Illuminate\Database\Eloquent\Model; class Authors extends Model { protected $table = 'authors'; protected $primaryKey = 'id'; }
How to use in controller
<?php namespace App\Controllers; use App\Models\Authors; use Nabz\Models\DB; class Home extends BaseController { public function index() { return $this->response->setJSON([ 'data' => Authors::all(), 'sample' => DB::table('authors')->skip(1)->take(100)->get(), ]); } }
More info usefull link docs laravel
Security
If you discover any security related issues, please email nabcellent.dev@gmail.com instead of using the issue tracker.
License
This package is free software distributed under the terms of the MIT license.