我正在尝试使用Cakephp从数据库中检索数据。
模型----> user.php的
<?php
App::uses('AppModel', 'Model');
class User extends AppModel
{
public $name = 'User';
}
?>
控制器---&GT; UsersController.php
<?php namespace App\Controller;
class UsersController extends AppController {
var $name = 'Users';
function index() {
$this->set('users', $this->User->find('all'));
}
}
?>
查看---&GT; index.ctp
<h2>Users</h2>
<?php if(empty($users)): ?>
There are no users in this list
<?php else: ?>
<table>
<tr>
<th>Name</th>
<th>Email</th>
<th>Phone</th>
<th>Modified</th>
<th>Actions</th>
</tr>
<?php foreach ($users as $user): ?>
<tr>
<td>
<?php echo $user['user_name'] ?>
</td>
<td>
<?php echo $user['user_email'] ?>
</td>
<td>
<?php echo $user['user_phone'] ?>
</td>
<td>
<?php echo $user['created_date'] ?>
</td>
<td>
<?php echo $user['modified_date'] ?>
</td>
<td>
<!-- actions on tasks will be added later -->
</td>
</tr>
<?php endforeach; ?>
</table>
<?php endif; ?>
但它给了我以下错误:
错误:在布尔值上调用成员函数find() 文件C:\ xampp \ htdocs \ demo \ src \ Controller \ UsersController.php 行:11
请有人帮忙。
如果在控制器中使用$this->set('users', $this->Users->find('all'));
答案 0 :(得分:0)
看起来您正在使用Cakephp的混合版本。您的模型适用于Cakephp2和Cakephp3的Controller。 Cakephp2不使用命名空间。因此,根据您使用的版本,您必须更新您的代码。
对于Cakephp2,你的控制器看起来应该是这样的:
<?php
App::uses('AppController', 'Controller');
class UsersController extends AppController
{
public $name = 'Users';
public function index() {
$this->set('users', $this->User->find('all'));
}
}
答案 1 :(得分:0)
您的版本是CakePhp3,那么您的代码应该是这样的:
<强> SRC \模型\实体\ user.php的强>
<?php namespace App\Model\Entity;
use Cake\ORM\Entity;
class User extends Entity
{
protected $_accessible = [
'*' => true,
'id' => false,
];
}
<强> SRC \控制器\ UsersController.php 强>
<?php namespace App\Controller;
use App\Controller\AppController;
class UsersController extends AppController
{
public function index()
{
$this->set('users', $this->Users->find('all'));
}
}
<强> SRC \模板\用户\ index.ctp 强>
...
<tbody>
<?php foreach ($users as $user): ?>
<tr>
<td><?= h($user->user_name) ?></td>
<td><?= h($user->user_email) ?></td>
<td><?= h($user->user_phone) ?></td>
<td><?= h($user->created_date) ?></td>
<td><?= h($user->modified_date) ?></td>
</tr>
<?php endforeach; ?>
</tbody>