nabcellent/codeigniter4-eloquent

The Illuminate/Eloquent package for CodeIgniter 4.

v1.1.7 2021-11-09 01:17 UTC

This package is auto-updated.

Last update: 2024-11-09 07:37:45 UTC


README

Latest Stable Version Total Downloads Latest Unstable Version License

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.