Php 未定义的属性:Cake\ORM\Query::$texto
文档控制器:Php 未定义的属性:Cake\ORM\Query::$texto,php,cakephp,cakephp-3.0,Php,Cakephp,Cakephp 3.0,文档控制器: public function documento($idDocumento) { $documentos = TableRegistry::get('Documentos'); $documento = $documentos ->find() ->select('id', 'titulo', 'texto') ->where(['id' =&
public function documento($idDocumento) {
$documentos = TableRegistry::get('Documentos');
$documento = $documentos
->find()
->select('id', 'titulo', 'texto')
->where(['id' => $idDocumento]);
}
documento.ctp:
<div>
<?= $documento->texto; ?>
</div>
错误:注意(8):未定义的属性:Cake\ORM\Query:$texto
[APP/Template/Documentos/documento.ctp,第3行]
$id,如果它有值,如果它返回一个数字,但查询不起作用,因为我试图添加->first()
,但它返回:
内部服务器错误[500]
将\Cake\ORM\Query的实例传递给视图。必须通过调用first()或all()或execute()来执行查询以获得结果。必须使用set()方法,这是将数据从控制器发送到视图的主要方法。
使用set()后,可以在视图中访问变量:
public function documento($idDocumento) {
$documentos = TableRegistry::get('Documentos');
$documento = $documentos
->find('all')
->select('id', 'titulo', 'texto')
->where(['id' => $idDocumento]);
$this->set('documento ', $documento );
}
供参考
也可以使用get()
first()或all()或execute()这三个错误中的任意一个给出错误:内部服务器错误[500]。请更新您的问题以显示您尝试此操作的代码?如果您仅检索一条记录,最好使用
->get($idDocumento)
而不是->find()->where(['id'=>$idDocumento])
执行此操作。谢谢!它奏效了
$documento = $documentos->get($idDocumento);