我正在使用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)
并得到与微代码相同的结果..请帮忙谢谢。
答案 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将无法工作。