Laravel 5 camelCase mutator命名

时间:2015-07-25 14:11:28

标签: php model laravel-5 eloquent

我的数据库中有一个使用camelCase约定命名的coloumn如何将它放入mutator命名工作?

迁移

    public function up()
{
    Schema::create('skillTypes', function (Blueprint $table) {
        $table->increments('id');
        $table->string('name');
        $table->boolean('needRating');
        $table->timestamps();
    });
}

我这样命名但是没有用,也把它命名为setNeedRatingAttribute并且没有工作

变异者

    public function setneedRatingAttribute($input){
    if($input==null){
        $input=false;
    }
    else{
        $input=true;
    }
    $this->attributes['needRating']=$input;
}

2 个答案:

答案 0 :(得分:1)

将此属性添加到模型中

public static $snakeAttributes = false;

并将方法从setneedRatingAttribute重命名为setNeedRatingAttribute

答案 1 :(得分:0)

首先,你提供的mutator有效。您可以将其重命名为setNeedRatingAttribute以提高可读性。

其次,您可以将setter中的 if 替换为:

$this->attributes['needRating'] = boolvar($input);