【问题标题】:Eloquent attribute type casting doesn't work in some modelsEloquent 属性类型转换在某些模型中不起作用
【发布时间】:2016-01-06 09:32:22
【问题描述】:

Eloquent 属性转换非常棒,这是一个很棒的功能,对于从 DB 类型转换为本地语言类型非常有用。
我的数据库中的布尔值是int(1),所以我需要将它转换为bool 类型。

我的应用程序中有几个模型,第一个模型是 User,它就像一个魅力。
1 转换为 true,0 转换为 false,就像我需要的那样。

class User extends Model {
   protected $table = 'user';
    protected $guarded = ['password','login','id','activationEmail'];
    protected $hidden = [ 'password' ];
 protected $casts = [
        'activationEmail' => 'boolean',
        'activationSMS' => 'boolean',
];

这里一切正常,但我需要在另一个模型中做同样的技巧NewsArticle

class NewsArticle extends Model
{
    protected $table = 'news';
    public $timestamps = false;
    protected $casts = [
        'Actual' => 'boolean',
    ];
}

但是在这种情况下 cast 根本不起作用,我尝试手动转换并且它可以工作,但是 casts 数组被完全忽略了。

有什么想法可以解决问题吗?

谢谢。

【问题讨论】:

  • Actual 还是actual
  • 在数据库中是Actual

标签: laravel casting eloquent lumen


【解决方案1】:

对不起,我的类模型的文件名有误,但类名本身是正确的,并且由于我为执行另一项任务而使用引导文件做了一些技巧,所以它成功加载了。
文件重命名后,一切都按预期工作。

【讨论】:

    猜你喜欢
    • 2021-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-17
    • 2021-12-01
    相关资源
    最近更新 更多