2 回答

TA貢獻1890條經驗 獲得超9個贊
您正在創建一個Post何時執行的新實例$timepost = new Post();
如果您想從數據庫中讀取這些帖子之一,則應該從getAll()方法中讀取那些(或更多)帖子。
前任:
$posts = Post::getAll();
foreach($posts as $post) {
var_dump($post->getDate_created());
}
//or
var_dump($posts[0]->getDate_created());

TA貢獻1784條經驗 獲得超2個贊
在這種情況下,沒有必要為屬性設置時間戳記值,因為您將獲取所有記錄,因此它將獲得最后一個記錄的值(它將覆蓋之前的每個記錄)。僅當您要從數據庫中獲取一條記錄時,才有必要將值設置為$ this-> date_created屬性。通常,您只需要使……
$received_data = $result->fetch(PDO::FETCH_ASSOC); $this->date_created = $received_data['date_created'];
此解決方案僅適用于assoc數組中的單個記錄。如果您真的想為所有記錄創建它,只需使用簡單的foreach()循環遍歷從查詢中接收到的數據即可。
如果您需要數據庫中的所有記錄,則不希望(請相信我)將其設置為屬性(除非您希望擁有對象數組,但是您需要重建大量當前代碼并且效率不高) 。
在您的情況下,我建議僅使用返回的數組,而不將值設置為屬性。
另外,在這種情況下,我不建議使用getter和setter,只需使用$ timepost-> created_date(當然,您需要在此屬性之前設置值)即可達到相同的效果。
- 2 回答
- 0 關注
- 184 瀏覽
添加回答
舉報