Merge remote-tracking branch 'upstream/develop' into 4.5

Conflicts:
	system/Autoloader/Autoloader.php
This commit is contained in:
kenjis 2024-03-15 09:26:59 +09:00
commit 8737b4b8ce
No known key found for this signature in database
GPG Key ID: BD254878922AF198
4 changed files with 22 additions and 2 deletions

View File

@ -32,7 +32,7 @@
"phpunit/phpcov": "^8.2",
"phpunit/phpunit": "^9.1",
"predis/predis": "^1.1 || ^2.0",
"rector/rector": "1.0.2",
"rector/rector": "1.0.3",
"vimeo/psalm": "^5.0"
},
"replace": {

View File

@ -30,6 +30,7 @@ use Rector\CodeQuality\Rector\Ternary\UnnecessaryTernaryExpressionRector;
use Rector\CodingStyle\Rector\ClassMethod\FuncGetArgsToVariadicParamRector;
use Rector\CodingStyle\Rector\ClassMethod\MakeInheritedMethodVisibilitySameAsParentRector;
use Rector\CodingStyle\Rector\FuncCall\CountArrayToEmptyArrayComparisonRector;
use Rector\CodingStyle\Rector\FuncCall\VersionCompareFuncCallToConstantRector;
use Rector\Config\RectorConfig;
use Rector\DeadCode\Rector\ClassMethod\RemoveUnusedConstructorParamRector;
use Rector\DeadCode\Rector\ClassMethod\RemoveUnusedPrivateMethodRector;
@ -189,6 +190,7 @@ return static function (RectorConfig $rectorConfig): void {
$rectorConfig->rule(CompleteDynamicPropertiesRector::class);
$rectorConfig->rule(BooleanInIfConditionRuleFixerRector::class);
$rectorConfig->rule(SingleInArrayToCompareRector::class);
$rectorConfig->rule(VersionCompareFuncCallToConstantRector::class);
$rectorConfig
->ruleWithConfiguration(StringClassNameToClassConstantRector::class, [

View File

@ -765,7 +765,7 @@ abstract class BaseModel
{
$id = $this->getIdValue($row);
return ! ($id === null || $id === []);
return ! ($id === null || $id === [] || $id === '');
}
/**

View File

@ -44,6 +44,24 @@ final class SaveModelTest extends LiveModelTestCase
$this->seeInDatabase('job', ['name' => 'Magician']);
}
/**
* @see https://github.com/codeigniter4/CodeIgniter4/issues/8613
*/
public function testSaveNewRecordArrayWithEmptyStringId(): void
{
$this->createModel(JobModel::class);
$data = [
'id' => '',
'name' => 'Magician',
'description' => 'Makes peoples things dissappear.',
];
$this->model->save($data);
$this->seeInDatabase('job', ['name' => 'Magician']);
}
public function testSaveNewRecordArray(): void
{
$this->createModel(JobModel::class);