J'essaie de faire une matrice avec des objets dans ce que j'ai essayé mais je n'ai pas reçu cette structure que j'ai montré ci-dessous. Comment puis-je faire cette structure? J'ai édité ma question et vous pouvez voir la structure que je veux. Merci d'aide.
"data": [
{
"profile_picture": example
"dvla_desp": "none",
"dvla_license_expiry": "2018-01-24",
"dvla_license_img": example
"taxi_license_desp": "none",
"taxi_license_expiry": "2019-12-24",
"taxi_license_img": example
"taxi_desp": "none",
"taxi_expiry": "2019-01-06",
"taxi_badge_img": example
"additional_docs_desp": "none",
"additional_docs_expiry": "2018-12-24",
"additional_docs_img": example
}
]
6 Réponses :
Vous devriez essayer ceci: réponse mise à jour strong> p>
@izza: veuillez afficher le résultat de $ findataarray code> (c.-à-d. impression ('
J'ai posté le résultat que je reçois.
Essayez ceci
Il ne fait qu'un seul objet de toute une matrice
Essayez ceci:
$docs = Driver::where('id', '=', $driverID)->get();
if (count($docs) > 0) {
/*final array to be passed to data*/
$finalDataArray = array();
foreach ($docs as $doc) {
//convert array in object and assign it into array
$finalDataArray[] = (object) array(
'profile_picture' => $doc->profile_picture,
'dvla_desp' => $doc->dvla_license_desp,
'dvla_license_expiry' => $doc->dvla_license_expiry,
'dvla_license_img' => $doc->dvla_license_img,
'taxi_license_desp' => $doc->taxi_license_desp,
'taxi_license_expiry' => $doc->taxi_license_expiry,
'taxi_license_img' => $doc->taxi_license_img,
'taxi_desp' => $doc->taxi_badge_desp,
'taxi_expiry' => $doc->taxi_badge_expiry,
'taxi_badge_img' => $doc->taxi_badge_img,
'additional_docs_desp' => $doc->additional_docs_desp,
'additional_docs_expiry' => $doc->additional_docs_expiry,
'additional_docs_img' => $doc->additional_docs_img,
);
}
Vous créez un tableau associatif plat. Ce que vous souhaitez réaliser dans une matrice contenant des tableaux associatifs, faites-le donc:
$finalDataArray[] = [
[
'profile_picture' => $doc->profile_picture,
],
[
'dvla_desp' => $doc->dvla_license_desp,
'dvla_license_expiry' => $doc->dvla_license_expiry,
'dvla_license_img' => $doc->dvla_license_img,
],
[
'taxi_license_desp' => $doc->taxi_license_desp,
'taxi_license_expiry' => $doc->taxi_license_expiry,
'taxi_license_img' => $doc->taxi_license_img,
],
[
'taxi_desp' => $doc->taxi_badge_desp,
'taxi_expiry' => $doc->taxi_badge_expiry,
'taxi_badge_img' => $doc->taxi_badge_img,
],
[
'additional_docs_desp' => $doc->additional_docs_desp,
'additional_docs_expiry' => $doc->additional_docs_expiry,
'additional_docs_img' => $doc->additional_docs_img,
]
);
Ceci pourrait résoudre votre problème
$val1 =(object) array('profile_picture' => "None");
$val2 =(object) array('dvla_desp' => "some value",
'dvla_license_expiry' => "some value",
'dvla_license_img' => "some value");
$val3 =(object) array('taxi_license_desp' => "some value",
'taxi_license_expiry' => "some value",
'taxi_license_img' => "some value"
);$val4 =(object) array('taxi_desp' => "some value",
'taxi_expiry' => "some value",
'taxi_badge_img' => "some value"
);$val5 =(object) array('additional_docs_desp' => "some value",
'additional_docs_expiry' => "some value",
'additional_docs_img' => "some value"
);
$finalDataArray = array($val1,$val2,$val3,$val4,$val5);
echo json_encode($finalDataArray);
Vous pouvez utiliser STDCLASS au lieu d'un tableau
essayez ceci
$ findataarray [] = (objet) tableau ( code>?Possible diplecqué de: Stackoverflow.com/Questtions/1869091/...