Reputation: 75
$subSpecialties = $this->_db->get('users_subspecialties',array('user_id', '=', $this->_data->id));
print_r($subSpecialties);
foreach ($subSpecialties as $subSpecialty) {
echo "THIS CODE IS GENERATED FROM INSIDE FOREACH";
}
The first line gets records from my users_subspecialties
table
I then used print_r
to check the records found.
The output is shown below:
DB Object ( [_pdo:DB:private] => PDO Object ( ) [_query:DB:private]
=> PDOStatement Object ( [queryString] => SELECT * FROM
users_subspecialties WHERE user_id = ? ) [_error:DB:private] =>
[_results:DB:private] => Array ( [0] => stdClass Object ( [user_id]
=> 1 [subspecialty_id] => 2 ) [1] => stdClass Object ( [user_id] => 1
[subspecialty_id] => 3 ) ) [_count:DB:private] => 2 )
Last line is my for-each
; it should run because there are 2 records found as you can see with the print_r
output and yet it won't echo
the code inside.
Can someone tell me what seems to be the problem, please? Thanks in advance.
Upvotes: 0
Views: 86
Reputation: 708
$subSpecialties = $this->_db->get('users_subspecialties',array('user_id', '=', $this->_data->id));
print_r($subSpecialties);
foreach ($subSpecialties->results() as $subSpecialty) {
echo "THIS CODE IS GENERATED FROM INSIDE FOREACH";
}
Upvotes: 1
Reputation: 373
if this response is object you get like this:
foreach ($subSpecialties as $subSpecialty) {
echo $subSpecialty->user_id;
echo '<br/>';
echo $subSpecialty->subspecialty_id;
}
if this response is array then
foreach ($subSpecialties as $subSpecialty) {
echo $subSpecialty[user_id];
echo '<br/>';
echo $subSpecialty[subspecialty_id];
}
Upvotes: 1