2015-06-06 149 views
0
$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"; 
} 

第一行會從我的users_subspecialties爲什麼我的foreach不會工作?

然後我用print_r檢查發現記錄的記錄。

輸出如下所示:

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) 

最後一行是我的for-each;它應該運行,因爲有2個記錄找到,你可以看到與print_r輸出,但它不會echo裏面的代碼。

有人能告訴我什麼似乎是問題嗎?提前致謝。

+0

循環的print_r($專科)內;使用此....並檢查響應 –

+2

您需要對結果進行foreach,而不是數據庫對象。 – xcvd

+0

嘗試'foreach($ subSpecialties-> results()as $ subSpecialty)''。 –

回答

1
$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"; 
} 
+1

傻我:) 我錯過了 - >結果() 感謝您的幫助 我真的很感激它 –

1

如果反應對象,你得到這樣的:

foreach ($subSpecialties as $subSpecialty) { 
    echo $subSpecialty->user_id; 
    echo '<br/>'; 
    echo $subSpecialty->subspecialty_id; 
} 

如果反應陣列然後

foreach ($subSpecialties as $subSpecialty) { 
    echo $subSpecialty[user_id]; 
    echo '<br/>'; 
    echo $subSpecialty[subspecialty_id]; 
}