Door objecten heen lopen probleem bij 1 object
Ik loop tegen een probleem aan waar ik geen raad mee weet.
De bedoeling is om gegevens uit een database te halen en die gegevens te verwerken.
De data die ik terug krijg is ingedeeld in objecten:
object(stdClass)#19 (6) {
["id"]=>
string(2) "25"
["veld2"]=>
string(12) "iets"
["veld3"]=>
string(2) "iets"
["veld4"]=>
string(1) "iets"
["veld5"]=>
string(1) "iets"
["deleted"]=>
string(4) "true"
}
object(stdClass)#20 (6) {
["id"]=>
string(2) "26"
["veld2"]=>
string(14) "iets"
["veld3"]=>
string(2) "iets"
["veld4"]=>
string(1) "iets"
["veld5"]=>
string(1) "iets"
["deleted"]=>
string(5) "false"
}
Dit is het resultaat van 2 objecten. Vervolgens kan ik door de objecten lopen door middel van foreach.
Tot zover gaat alles prima. Wanneer er 1 object terug komt ontstaat er een probleem.
De foreach gaat door elk element in het object lopen. En dan loopt alles in de soep.
Ik heb al aardig wat mogelijk oplossingen geprobeerd, maar niks werkt.
Hiermee loop ik er doorheen:
foreach($webshops as $key => &$webshop)
{
var_dump($webshop);
$webshop->setting_name = $settingsmodel->search("id ='".$webshop->settings_id."'");
$webshop->database_name = $databasesettingsmodel->search("id ='".$webshop->database_settings_id."'");
}
De foutmeldingen (per element in het object):
Warning: Attempt to assign property of non-object in /mnt/webf/e2/86/53231686/htdocs/cms/mybackend/application/controllers/settingscontroller.php on line 19
Warning: Attempt to assign property of non-object in /mnt/webf/e2/86/53231686/htdocs/cms/mybackend/application/controllers/settingscontroller.php on line 20
Hopelijk kan een van jullie mij verder helpen!
Alvast bedankt, Mitchell
Gewijzigd op 16/08/2013 16:45:26 door Mitchell Izelaar
Blijkbaar zit er een verschil in hoe je een serie aan objecten ophaalt en hoe je 1 object ophaalt. Misschien dus handig om te laten zien hoe je dat doet. Hoe fetch je de objecten?
Ik had eerst dit:
if($result->num_rows == 1)
{
return $result->fetch_object();
}
Dat heb ik vervangen door:
if($result->num_rows == 1)
{
$resultSet[] = $result->fetch_object();
return $resultSet;
}
En het werkt nu prima :)
Precies, dat was wat ik verwachtte.