Phalcon 将控制器中的对象传递到视图中
Phalcon pass object from controller into view
我是 phalcon 的新手,我想知道将一些数据从控制器传递到数据库视图的正确方法是什么。例如
$lastOrder = LeaOrder::findFirst([
'conditions' => 'user_id = ?1',
'order' => "id DESC",
'bind' => [
1 => $userID,
]
]);
$this->view->setVars([
'lastOrder'=> $lastOnGoingOrder,
]);
我可以从 LeaOrder 对象为用户显示数据,例如 {{lastOrder->name}}
还是我应该在将对象传递到视图之前制作 toArray()
然后 {{lastOrder[name]}}
或者这并不重要,就像我处理这个一样?谢谢大家的建议,
您甚至可以使用快速语法:
$this->view->lastOrder = LeaOrder::findFirst([
'conditions' => 'user_id = ?1',
'order' => "id DESC",
'bind' => [
1 => $userID,
]
]);
在视图中:
// To access object properties
{{ lastOrder.name }}
// To access array keys
{{ lastOrder['name'] }}
Phalcon ORM returns 模型对象,但是如果你真的需要一个数组,你可以在你的对象上调用 ->toArray()
方法。
我建议您阅读文档中的这一部分:https://docs.phalconphp.com/en/3.2/volt 过滤器 - 这部分也非常有用。
更新: 调试 ORM 结果。
转储 ORM 结果时,由于 Phalcon 使用的 DI(依赖注入),您会看到大量信息。一种简单的调试方法是在您的模型上调用 ->toArray()
。这样您将只会看到模型属性。
$this->view->order = LeaOrder::findFirstById(82);
print_r($this->view->order->toArray();
但请注意: toArray()
正在将您的对象转换为数组,但由于您没有分配它而只是在 print_r
中进行调试目的,稍后您将在 code/template.
中将其用作对象
更新 2: Phalcon 调试的便捷功能
function d($what)
{
if (is_object($what) AND method_exists($what, 'toArray')) {
$what = $what->toArray();
}
echo '<pre>';
print_r($what);
die('</pre>');
}
// Usage:
$this->view->order = LeaOrder::findFirstById(82);
d($this->view->order);
我是 phalcon 的新手,我想知道将一些数据从控制器传递到数据库视图的正确方法是什么。例如
$lastOrder = LeaOrder::findFirst([
'conditions' => 'user_id = ?1',
'order' => "id DESC",
'bind' => [
1 => $userID,
]
]);
$this->view->setVars([
'lastOrder'=> $lastOnGoingOrder,
]);
我可以从 LeaOrder 对象为用户显示数据,例如 {{lastOrder->name}}
还是我应该在将对象传递到视图之前制作 toArray()
然后 {{lastOrder[name]}}
或者这并不重要,就像我处理这个一样?谢谢大家的建议,
您甚至可以使用快速语法:
$this->view->lastOrder = LeaOrder::findFirst([
'conditions' => 'user_id = ?1',
'order' => "id DESC",
'bind' => [
1 => $userID,
]
]);
在视图中:
// To access object properties
{{ lastOrder.name }}
// To access array keys
{{ lastOrder['name'] }}
Phalcon ORM returns 模型对象,但是如果你真的需要一个数组,你可以在你的对象上调用 ->toArray()
方法。
我建议您阅读文档中的这一部分:https://docs.phalconphp.com/en/3.2/volt 过滤器 - 这部分也非常有用。
更新: 调试 ORM 结果。
转储 ORM 结果时,由于 Phalcon 使用的 DI(依赖注入),您会看到大量信息。一种简单的调试方法是在您的模型上调用 ->toArray()
。这样您将只会看到模型属性。
$this->view->order = LeaOrder::findFirstById(82);
print_r($this->view->order->toArray();
但请注意: toArray()
正在将您的对象转换为数组,但由于您没有分配它而只是在 print_r
中进行调试目的,稍后您将在 code/template.
更新 2: Phalcon 调试的便捷功能
function d($what)
{
if (is_object($what) AND method_exists($what, 'toArray')) {
$what = $what->toArray();
}
echo '<pre>';
print_r($what);
die('</pre>');
}
// Usage:
$this->view->order = LeaOrder::findFirstById(82);
d($this->view->order);