PHP MVC计数函数和传递到视图
我只是想了解一下MVC,在计算数据库中的小部件数量时遇到了一些麻烦 我不确定这是不是搞砸了它,但在我的索引页上我有这个PHP MVC计数函数和传递到视图,php,model-view-controller,count,Php,Model View Controller,Count,我只是想了解一下MVC,在计算数据库中的小部件数量时遇到了一些麻烦 我不确定这是不是搞砸了它,但在我的索引页上我有这个 <?php require APPROOT . '/views/inc/header.php'; ?> Some Other stuff here <?php require APPROOT . '/views/inc/widget.php'; ?> 这里还有别的东西 模型 小部件总数 我
<?php require APPROOT . '/views/inc/header.php'; ?>
Some Other stuff here
<?php require APPROOT . '/views/inc/widget.php'; ?>
这里还有别的东西
模型
小部件总数
我似乎得到的只是这个错误
注意:尝试获取C:\xampp\htdocs\app\views\inc\widget.php第29行中非对象的属性“id”
如果有人能告诉我哪里出了问题,我将不胜感激,并提前感谢您提供的任何帮助
谢谢
Molly
rowCount()
,我假设它返回的是一个整数,而不是一个对象。此外,您不会将任何内容从模型返回到控制器,因此控制器中永远不会填充$count
。由于这些原因,$count
中没有名为id
的属性。此外,id=id
是一个绝对无用的WHERE子句条件,因为它不会过滤掉任何行。如果你需要一个$count->id
值,你将需要从结果集中生成一个对象(不计算结果集中有多少行),那么你的视图将停止对你的反驳。我投票将这个问题作为主题外的打字错误来结束,因为这个错误/误解不太可能帮助未来的研究人员。此页面也可以作为许多页面的副本轻松关闭,例如
<?php
class Widget {
private $db;
public function __construct(){
$this->db = new Database;
}
public function countWidgets(){
$this->db->query("SELECT id FROM widgets WHERE id=id");
$count = $this->db->rowCount();
}
<?php
class Widgets extends Controller{
public function __construct(){
// Load Models
$this->widgetModel = $this->model('Widget');
}
public function widget(){
$count = $this->widgetModel->countWidgets();
$data = [
'count' => $count
];
$this->view('inc/widget', $data);
}
}
<div class="media-body text-right">
<h2 class="text-white"><?php echo $count->id; ?></h2>
<span>Total Widgets</span>
</div>