PDO将对象提取到对象属性中;PHP中的OOP
如何将PDO FetchObject结果与$this变量一起使用 有一个页面类,用于显示其详细信息存储在数据库中的页面。每页都有特定于该页的标题和说明。在生产中,变量和函数比这里显示的要多得多PDO将对象提取到对象属性中;PHP中的OOP,php,mysql,oop,pdo,Php,Mysql,Oop,Pdo,如何将PDO FetchObject结果与$this变量一起使用 有一个页面类,用于显示其详细信息存储在数据库中的页面。每页都有特定于该页的标题和说明。在生产中,变量和函数比这里显示的要多得多 class Page { var $title; var $description; function load_page() { $this->get_page_meta(); // do some more stuff and then // s
class Page
{
var $title;
var $description;
function load_page()
{
$this->get_page_meta();
// do some more stuff and then
// send $this variable to template view that displays page
}
function get_page_meta()
{
$stmt = $dbh->query("SELECT title, description FROM pages WHERE page_id = '1'");
$stmt->fetch(PDO::FETCH_OBJ);
// HOW DO I MAKE THE RESULT SET REFERENTIAL USING $this?
// I want $this->title to be accessible
// without assigning $this->title = $result->title
}
}
尝试使用
FETCH_进入样式,例如
$stmt = $dbh->prepare(...);
$stmt->setFetchMode(PDO::FETCH_INTO, $this);
$stmt->execute();
$stmt->fetch();
$stmt->closeCursor();
这里有一个对象合并帖子,不知道是否适用于你:或者会$this->pdoObj->title代码>是您可以接受的选项吗?这意味着您使用$this->pdoObj=$dbh->query($sql)代码>我宁愿避免任何“孩子”。我想要$this->title作为$this->meta->title的对立面。合并上面链接中的内容如何?除非我遗漏了什么,否则合并将使用$this->other_属性,并将其与$this->db_对象合并,形成$this->new_obj->combined_属性。我更喜欢$this->all_attibutes.谢谢!我不知道这个功能。这解决了本项目和其他项目中的许多问题。