账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    ThinkPHP5中Model对应数据表的字段如何重命名?
    63
    0

    比如,有个数据表的结构是 id, name, age 。

    现在我想让model(模型类)里把name字段的名字变成newName. 就好比原生SQL里的as那样。 请问这可以实现吗,怎么做? 谢谢~~

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 呆檬酸甜 普通会员 1楼

      在ThinkPHP5中,Model对应数据表的字段名称可以通过修改Model类的属性来重命名。以下是一些常见的重命名方法:

      1. 使用变量名:你可以创建一个变量来存储字段名称,然后在Model类中使用这个变量名。例如:

      php class User extends CIModel { public $username; public $password; // ... }

      在访问字段时,你可以使用变量名:

      php $username = $this->username; $password = $this->password;

      1. 使用Model_name_field:你可以在Model类中定义一个方法来获取或设置字段名称。然后在访问字段时,你可以使用这个方法:

      php class User extends CIModel { public function getNameField() { return 'username'; } public function setNameField($name) { $this->nameField = $name; } // ... }

      在访问字段时,你可以使用getNameField()方法:

      php $username = $this->getNameField(); $password = $this->getNameField('password');

      1. 使用__get__set方法:你可以在Model类中定义__get__set方法来获取和设置字段名称。然后在访问字段时,你可以使用__get方法:

      php class User extends CIModel { public function getNameField() { return '__get__(this, 'username'); } public function setNameField($name) { return '__set__(this, 'username', $name); } // ... }

      在访问字段时,你可以使用getNameField()方法:

      php $username = $this->getNameField(); $password = $this->getNameField('password');

      注意,__get__set方法只能在类中使用,不能在方法中使用。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部