如何在phalcon模型中执行查询

时间:2017-11-12 11:20:55

标签: phalcon

我使用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();

有人能给我解决方案吗?谢谢你

1 个答案:

答案 0 :(得分:2)

您的功能是静态的,因此没有$this 要获得DI,您可以将$this->getDI()替换为\Phalcon\DI::getDefault()