Beim Upgrade von Laravel auf PHP 8.1 erhalten Sie möglicherweise die folgende Meldung:
Der Attributwert muss für das ausgewählte Attribut vom Typ „Bool“ sein (Array angegeben).
Der Grund:
Dies sollte wahrscheinlich in Ihrem Design- oder Eloquent-Code enthalten sein. Versuchen Sie, eine neue einfache temporäre Route in routes/web.php hinzuzufügen:
Route::get('/test', Funktion() { return "hi"; });
Beim Öffnen von /test sollte es wahrscheinlich funktionieren.
Deshalb könnte es an Ihrem Design liegen. Navigieren Sie zu Ihrem Blade-Design.
Seltsamerweise scheint dies bereits vor dem Blade-Thema zu passieren, wenn wir eine Eloquent-Anfrage stellen, wie:
Route::get('/test', Funktion() { return Seite::alle(); });
Seltsamerweise scheint die Verwendung von Laravel 9 mit PHP 8.0 anstelle von PHP 8.1 den Fehler zu beheben.
Problem gelöst
Es schien, dass in der Datei config/database.php falsche Einstellungen im MySQL-Treiber vorhanden waren:
'Optionen' => [\PDO::ATTR_EMULATE_PREPARES => true + Erweiterung geladen('pdo_mysql') ? Array-Filter([ PDO::MYSQL_ATTR_SSL_CA => Umgebung('MYSQL_ATTR_SSL_CA'),
Wenn Sie dies ändern in:
'Optionen' => Erweiterung geladen('pdo_mysql') ? Array-Filter([ PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'), ]) : [],
Es wird gelöst
Hatte jemand auch dieses Problem und weiß, wie man es behebt?