我使用phalcon,我试图从控制器执行查询,查询运行我的模型
<?php
use Phalcon\Mvc\Model;
use Phalcon\Mvc\Model\Query;
class CakupanBu extends Phalcon\Mvc\Model
{
public static function getJenisBU()
{
header("Access-Control-Allow-Origin: *");
header('Content-type:application/json;charset=utf-8');
$data = array();
$query = new Query(
'SELECT id_jenis_bu,count(jumlah_bu) as jumlah FROM CakupanBu group by id_jenis_bu',
$this->getDI()
);
// Execute the query returning a result if any
$jbus = $query->execute();
foreach ($jbus as $jbu) {
$data[] = array(
'id_jenis' => $jbu->id_jenis_bu,
'jumlah' => $jbu->jumlah,
);
}
return json_encode($data);
}
}
但遗憾的是,这不起作用,我最终得到了一个错误。
<b>Fatal error</b>: Uncaught Error: Using $this when not in object context in 'CakupanBU.php:14'
来自控制器我打电话:
$jbus=CakupanBU::getJenisBU();
有人能给我解决方案吗?谢谢你
答案 0 :(得分:2)
您的功能是静态的,因此没有$this
要获得DI,您可以将$this->getDI()
替换为\Phalcon\DI::getDefault()