Un objet de la classe stdClass n'a pas pu être converti en chaîne - laravel
Je suis cette documentation
à mettre en œuvre à l'exportation vers Excel dans mon laravel 4 projet.
Donc essaie de générer un fichier excel de tableau comme ceci:
//$results is taken with db query
$data = array();
foreach ($results as $result) {
$result->filed1 = 'some modification';
$result->filed2 = 'some modification2';
$data[] = $result;
}
Excel::create('Filename', function($excel) use($data) {
$excel->sheet('Sheetname', function($sheet) use($data) {
$sheet->fromArray($data);
});
})->export('xls');
Mais cela soulève une exception:
Object of class stdClass could not be converted to string
Ce que je fais mal ?
Mise à JOUR:
Essayé ceci:
$data = get_object_vars($data);
qui se traduit par:
get_object_vars() expects parameter 1 to be object, array given
Ce:
$data = (array)$data;
Résultats dans l'erreur initiale.
Je pense que vous avez raté quelque chose avec votre configuration. Vérifiez votre
app/config.php
fichier pour les fournisseurs de Services et les alias.OriginalL'auteur stackUnderflow | 2015-05-15
Vous devez vous connecter pour publier un commentaire.
$data
est en effet un tableau, mais il est composé des objets.Convertir le contenu de tableau avant de le créer:
OriginalL'auteur Damien Pirsy
Essayez ce simple en une seule ligne de code:-
Espère que cela aide 🙂
J'ai été absent le vrai.. thx!
droit , simple et courte réponse . +10
Cela devrait être la bonne réponse.
OriginalL'auteur kunal
Vous pourriez avoir besoin de changer votre objet dans un tableau en premier. Je ne sais pas ce
export
n', mais je suppose que c'attend un tableau.Vous pouvez soit utiliser
get_object_vars()
Ou si c'est un objet simple, il vous suffit transtypage.
$arr = (array) $Object;
Object of class stdClass could not be converted to string
en premier lieu.OriginalL'auteur Kishor Kurian
Si vous avez une Collection de stdClass objets, vous pouvez essayer ceci:
OriginalL'auteur Edujugon
C'est facile, tout ce que vous devez faire est de quelque chose comme cela, Prenez votre contenu comme ceci
OriginalL'auteur Japhet Johnson
J'étais recevoir le même message d'erreur quand j'étais tring-pour appeler un objet élément à l'aide d'un autre des objets de valeur de retour;
Le code ci-dessus a été de jeter l'erreur et j'ai essayé de nombreuses façons de le fixer comme; l'appel de cette partie
$this->array1->country
dans une autre fonction comme valeur de retour,(string)
, de le prendre dans les citations etc. Je ne pouvais même pas trouver la solution sur le web, alors j'ai compris que la solution était très simple. Tout ce que vous avez à faire envelopper avec des accolades et qui permet de cibler un objet avec un autre objet de valeur de l'élément. comme;Si quelqu'un face à la même et ne pouvait pas trouver la réponse, j'espère que cela peut aider parce que j'ai passer une nuit pour cette solution simple =)
OriginalL'auteur Güney Saramalı