找不到别名(table_name)用户的cakePHP4 _ Table类,错误

yrdbyhpb  于 2022-11-11  发布在  PHP
关注(0)|答案(3)|浏览(117)

我继续努力学习PHP(CakePHP),但不会做DB表插入操作.在此代码中:表注册表::get('users')'users'是(my_app)数据库表名。我怎么才能使别名'users'?并找到?请有人帮助我..
第一个
我正在阅读cakePHP的COOKBOOK或网站.但这是不可能的

fhg3lkii

fhg3lkii1#

看起来您的表与其他表有关系。您是否在用户表中创建了user_id字段?是否共享您的表结构?
下面的情况会产生错误:
找不到别名(table_name)用户的表类。
假设具有包含字段id、user_id和name表业余爱好;
然后创建HobbiesTable

class HobbiesTable extends Table
{
    /**
     * Initialize method
     *
     * @param array $config The configuration for the Table.
     * @return void
     */
    public function initialize(array $config): void
    {
        parent::initialize($config);

        $this->setTable('groups');
        $this->setDisplayField('id');
        $this->setPrimaryKey('id');

        $this->addBehavior('Timestamp');

        $this->belongsTo('Users', [
            'foreignKey' => 'user_id',
        ]);
    }

肯定会出错
找不到别名(table_name)用户的表类
这个错误是因为hobbits表有belongTo用户,但是没有找到用户类,所以你必须声明usersTable.php。

66bbxpm5

66bbxpm52#

只需将以下代码添加到UsersTable.php的顶部:

namespace App\Model\Table;
   use Cake\ORM\Table;
a0x5cqrl

a0x5cqrl3#

只需补充一句:
命名空间App\Model\Table使用了Cake\orm\Table;
那就好办了
将上面的代码添加到table.php中

相关问题