如何从数据库Phalcon php中检索数据

时间:2016-08-05 04:10:19

标签: php mysql phalcon

我正在使用tutorial-master https://docs.phalconphp.com/en/latest/reference/tutorial.html来自CRUD的Create步骤很棒,我可以将数据输入到数据库。但我不明白如何使用查询从表生成数据。

此代码无效,因为我使用$application = new Application($di);而不是微观。

// Retrieves all robots $app->get('/api/robots', function () use ($app) {

$phql = "SELECT * FROM Robots ORDER BY name";
$robots = $app->modelsManager->executeQuery($phql);

$data = array();
foreach ($robots as $robot) {
    $data[] = array(
        'id'   => $robot->id,
        'name' => $robot->name
    );
}

echo json_encode($data);

});

我想拥有 $query="SELECT * FROM ospos ORDER BY ospoId";并输出$data = array(); echo jsone_encode($data)并得到与微代码相同的结果..请帮忙谢谢。

2 个答案:

答案 0 :(得分:2)

更新:使用模型进行上述查询。

$robots = Robots::find([
    'order' => 'name'
]);

找到下面提到的链接(PhalconPHP模型文档)

https://docs.phalconphp.com/en/latest/reference/models.html

希望此链接可以解答您的问题。

答案 1 :(得分:0)

我找不到令人满意的答案,所以我想评论一下我是如何做到的。
在控制器中执行以下操作:

use Phalcon\Mvc\Controller;
$this->aricleModel = new Articles();

class IndexController extends Controller
{
    public function indexAction()
    {
        $articles = Articles::find();

        if ($articles) {
            foreach ($articles as $article) {
               echo $article->title;
               echo "<br>";
            }
        }
    } 
}

假设您已经制作了模型。关键是这样的:$this->aricleModel = new Articles();如果没有它,foreach将无法工作。