Hi!
I created a small package that makes it easy to work with UUID in CodeIgniter 4 - https://github.com/michalsn/codeigniter4-uuid
This package work with different versions of UUID - starting from version 1 and up to version 6 - but everything is integrated into a model class to make it work smoothly. So we basically use it like a "normal" model class. We can also store UUID in the database in a byte format to optimize the used space.
Let me get you a small example of how would using UUID as a primary key in our model would look like:
Out model have to extend UuidModel instead of Model and that's it. More detailed info is available in the project repo.
I created a small package that makes it easy to work with UUID in CodeIgniter 4 - https://github.com/michalsn/codeigniter4-uuid
This package work with different versions of UUID - starting from version 1 and up to version 6 - but everything is integrated into a model class to make it work smoothly. So we basically use it like a "normal" model class. We can also store UUID in the database in a byte format to optimize the used space.
Let me get you a small example of how would using UUID as a primary key in our model would look like:
PHP Code:
<?php
namespace App\Models;
use Michalsn\Uuid\UuidModel;
class Project1Model extends UuidModel
{
protected $table = 'projects_1';
protected $primaryKey = 'id';
protected $returnType = 'array';
protected $useSoftDeletes = true;
protected $allowedFields = ['name', 'description', 'created_at', 'updated_at', 'deleted_at'];
protected $useTimestamps = true;
protected $validationRules = [
'name' => 'required|min_length[3]',
'description' => 'required',
];
}
Out model have to extend UuidModel instead of Model and that's it. More detailed info is available in the project repo.