Laravel中是否有自定义特征/属性模型的通用命名约定?

时间:2018-06-14 23:21:46

标签: php laravel eloquent naming-conventions

我正在设计一个应用程序,用户可以在其中定义对象的特征/属性。

我打算像这样去

class AttributeName extends Model
{
    //
}

class Attribute extends Model
{
    public function attributeName()
    {
        return $this->belongsTo('AttributeName');
    }

    public function job()
    {
        return $this->belongsTo('Job');
    }
}

class Job extends Model
{
    public function attributes()
    {
        return $this->hasMany('Attribute');
    }

    public function getAttributeValue($attributeNameId)
    {
        return $this->attributes->where('attribute_name_id', $attributeNameId)->first()->value ?? ;;
    }
}

不幸的是,这给我带来了困难,因为$this->attributes对Laravel模型有另一种含义。所以Attribute对于这些事情来说不是一个很好的名字。

命名它trait在PHP中也不顺利。那么我该怎么命名呢?是否有任何反映语义以及属性或特征的通用名称,但与Laravel和PHP中的其他用法没有冲突?

0 个答案:

没有答案