VersionsRedbean: 5.7.4
PHP: 7.4.33 & 8.2.6
MySQL: 5.7
I have the following code in a test (simplified):
```
$question = R::dispense('question');
$question->slackts = '1511996272.000308';
R::store($question);
// Some more stuff
$question = $question->fresh();
$this->assertNotNull('1511996272.000308', $question->slackts);
```
On PHP 7.4, the test passes fine. Exact same codebase on PHP 8.2, the assertion fails because $question->slackts = '1511996272.0003' (two decimals dropped).
Step debugging this on 8.2, I found that $question->slackts is set to '1511996272.000308' up until $question->fresh(); is called. After which $question->slackts is set to 1511996272.0003. I also find the record in the Database is indeed storing slackts as 1511996272.000308. The field is a Double.
I have stepped into OODBBean->fresh() and ran the expression in that method, and indeed the result of $this->beanHelper->getToolbox()->getRedBean()->load($this->getMeta( 'type' ), $this->properties['id'] ); is the truncated 1511996272.0003, despite the record in the DB showing 1511996272.000308 at the time.
I also checked ini_get('precision'); inside this test and it's set to 14.
Any thoughts on what the cause of this might be?