Résoudre la question de la mise à niveau à la version 7.2 dans laravel 5.4 application
J'ai mis à jour mon laravel application de la version de php à php 7.2 cette semaine et à partir de là, je suis confronté à de gros problèmes dans mon laravel application. avant la mise à niveau php à 7,2 chaque chose a travaillé tout.
le principal enjeu est d'environ count() et array_merge() fonctions, qui est de jeter cette erreur:
pour array_merge()
fonction le code est comme ci-dessous:
$array = array_merge(
$model->toSearchableArray(), $model->scoutMetadata()
);
if (empty($array)) {
return;
}
ErrorException · array_merge(): Argument n ° 1 n'est pas un tableau.
et je suis confronté à count()
d'erreur par exemple à ce code lorsque le modèle ne renvoie aucun enregistrement et retourne la valeur null:
count(TutorialReview::where('TutorialID', 5)->where('UserID', 6)->get())
count()
: Paramètre doit être un tableau ou un objet qui implémente Dénombrable.
mon laravel version est 5.4
maintenant, ma question est comment puis-je résoudre les problèmes, et de fait la mise à niveau vers laravel 5.5 à résoudre l'un des problèmes?
- à l'aide de @ pour ignorer l'avertissement, je pense.
Vous devez vous connecter pour publier un commentaire.
Dans PHP 7.2 changé
count()
comportement dans la RFC suivante: https://wiki.php.net/rfc/counting_non_countablesMais vous pouvez compter à l'aide de
->count()
dans laravel, ici, en est un exemple:De cette façon, vous pouvez obtenir le nombre total des enregistrements comte.
Juste ajouter
@
avantcount
. I. E.Pour résoudre array_merge() question , essayez ces étapes:
sluggable.php fichier de configuration app/config avec les données
return ['source' => null, 'maxLength' => null, 'method' => null, 'separator' => '-', 'unique' => true, 'uniqueSuffix' => null, 'includeTrashed' => false, 'reserved' => null, 'onUpdate' => false, ];
Exécuter la commande,
php artisan config:cache
Pour résoudre count() question : Essayez Ceci
Fait ce n'est pas une erreur , c'est un comportement attendu . Laravel 5.4 ou 5.5 n'est pas entièrement compatible avec Php 7.2 .
Count() le comportement de changement au PHP 7.2
Regardez cette
Une autre façon juste utiliser PHP 7.1 ou le bas jusqu'à ce problème de compatibilité fixe.
essayez ceci:
également lors du comptage instance du modèle de le faire en
->count()
au lieu decount()
juste ajouter le code ci-dessous dans web.php
en PHP 7.2 Compter Méthode que j'ai pas disponibles en raison des raisons de sécurité, vous devez installer l'extension pour que de regarder cette documentation