2017-09-16 1 views
0
use App\Abc\Model1; 
use App\Abc\Model2; 
use App\Abc\Model3; 
use App\Abc\Model4; 

// This My Models 

$modelArr = ['Model1','Model2','Model3','Model4']; 
      foreach ($modelArr as $key => $value) { 
       $model = new $value; 
       $model->where('abc','=',$abc)->get(); 
       $model->delete(); 
      } 

// Mais ne fonctionne pas erreur fatale: Model1 Classe non trouvémodèle Laravel foreach nouvelle instance de classe d'erreur fatale non trouvé

+0

Ici, ' 'Model1', 'Model2', ... 'ne sont pas des cas de ce modèle, ils ne sont que variable de chaîne utilisez 'new Model1, new Model2, ...' à la place. – ako

+0

Et la question est? – tambre

+0

Ce code n'a pas un seul problème, c'est fondamentalement quelque chose de complètement faux. Je pense que vous devriez envisager de lire un tutoriel sur la façon d'utiliser Laravel et aussi lire sur les bases du langage PHP comme quoi, comment définir une classe? Quels sont les espaces de noms? Comment créer un objet et accéder à ses méthodes, etc. – Nima

Répondre

2

Essayez avec cette

$modelArr = [Model1::class,Model2::class,Model3::class,Model4::class]; 

Ou si vous devez attribuer à la chaîne vous devez inclure l'espace de noms complet dans les chaînes. Exemple:

$modelArr = ['App\Model1','App\Model2','App\Model3','App\Model4']; 
  • s'il vous plaît laissez-moi savoir quelles erreurs sont
  • montrant
+0

J'ai été ajouté Model1 :: class. Parfait travail.merci –