michalsn / codeigniter4-uuid Goto Github PK
View Code? Open in Web Editor NEWUUID package for CodeIgniter 4 with support for Model and Entity.
License: MIT License
UUID package for CodeIgniter 4 with support for Model and Entity.
License: MIT License
Hey @michalsn!
I'm getting this error:
Argument 1 passed to Michalsn\Uuid\Uuid::fromString() must be of the type string, null given, called in /castopod-host/vendor/michalsn/codeigniter4-uuid/src/UuidModel.php on line 381
This happens when trying to insert a record with a null
value in a Uuid field that should be converted in bytes. Here is the line in question, in the doInsert
method:
if (in_array($key, $this->uuidFields) && $this->uuidUseBytes === true)
{
$val = ($this->uuid->fromString($val))->getBytes(); // line 381, $val is null
}
Given that you may have a Uuid field with possible null values, there should be a check to prevent this from happening.
Possible solution
Add a condition to check that the field value is not null for insert
and update
:
if ($val && in_array($key, $this->uuidFields) && $this->uuidUseBytes === true)
{
$val = $this->uuid->fromString($val)->getBytes();
}
once I insert data and then tries to find that record with find method by providing primary key returned by insert call, It returns all the records
$model = new CommoditiesModel(); $commodity = $model->insert($input); $commodity_data = $model->find($commodity);
find call is returning all the records without any WHERE clause.
Is there any function in order to check if an string|binary variable is an uuid?
Hey @michalsn, first of all, thank you for this project!
I have stumbled on this error when trying to insert a record with the UuidModel's insert method:
The problem might come from this PR in CodeIgniter4.. Before then, inserting a record worked without hassle.
Changing the line from if ($result->resultID)
to if ($result)
fixes the problem.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.