cakephp-3.7 - 如何在 CakePHP 3.7 中创建查询构建器失败
问题描述
我在 CakePHP 3.7 中设置查询生成器以在 UsersTable 内的单行中获取值。我想获取行值“其中 Name = 'Budi'”
我试图通过浏览https://book.cakephp.org/3.0/en/orm/query-builder.html来解决它,但它不起作用
<?php
//UsersController.php
namespace App\Controller;
use App\Controller\AppController;
use App\Model\Table\UsersTable;
use Cake\Event\event;
use Cake\I18n\Time;
use Cake\ORM\TableRegistry;
class UsersController extends AppController
{
public function index
{
$query = $users->find()
->select(['ID', 'Nama'])
->where(['Nama =' => 'Budi']);
foreach ($query as $users) {
debug($users->Nama);
}
$this->set(compact('users'));
}
//code from cake bake all
}
?>
此处显示的消息错误
Notice (8): Undefined variable: users [APP/Controller\UsersController.php, line 20]
Notice (1024): Undefined property: ErrorController::$Auth in C:\xampp\htdocs\klinikucing\src\Controller\AppController.php on line 57 [CORE\src\Controller\Controller.php, line 388]
Warning (512): Unable to emit headers. Headers sent in file=C:\xampp\htdocs\klinikucing\vendor\cakephp\cakephp\src\Error\Debugger.php line=853 [CORE\src\Http\ResponseEmitter.php, line 48]
Warning (2): Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\klinikucing\vendor\cakephp\cakephp\src\Error\Debugger.php:853) [CORE\src\Http\ResponseEmitter.php, line 148]
Warning (2): Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\klinikucing\vendor\cakephp\cakephp\src\Error\Debugger.php:853) [CORE\src\Http\ResponseEmitter.php, line 181]
Warning (2): Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\klinikucing\vendor\cakephp\cakephp\src\Error\Debugger.php:853) [CORE\src\Http\ResponseEmitter.php, line 181]
An Internal Server Error Occurred
我希望输出是
-------------------------------------------------
| Nama | Role | Dibuat | Diubah |
-------------------------------------------------
| Budi | Visitor | 10/04/2019 | 12/04/2019 |
-------------------------------------------------
解决方案
您还需要参考控制器的型号
利用
$query = $this->Users->find()
->select(['ID', 'Nama'])
->where(['Nama =' => 'Budi']);
推荐阅读
- javascript - 使用js的矩阵的行列式
- c# - EF Core 5 lambda 表达式,用于根据 where 条件删除超过 10 条记录
- java - 带系统:资源未能调用关闭改造2
- r - R - 如何在我的数据框中添加 3 个额外的日期?
- angular - “AbstractControl”类型上不存在属性“控件”?
- python - Pyinstaller:试图排除子文件夹中的所有模块,但 pyinstaller 无论如何都会继续编译它们
- typescript - 'EventHandler 类型的参数
' 不可分配给 'EventHandler 类型的参数 ' - wordpress - woocommerce 在我的自定义简码中显示 global $product
- java - Java 不可变类与可变引用
- javascript - 在 Bootstrap 外部点击时停止关闭它是行不通的