在我的数据库Laravel 5.7我有一个属性包含一个数字在它的名字- item_1_quality。当我使用camel case创建方法名的访问器时,它将被忽略。
我尝试了各种组合,其中最明显的是
public function getItem1QualityAttribute($value)
{
dd($value);
}
然而,不起作用。我尝试了其他可能的组合,但都没有成功。我正确地调用属性在同一模型中的其他访问器工作良好。问题似乎与命名有关。
我已经找到了一个粗糙但有效的解决方案,有人可能会觉得有用。
-
为追加内容添加属性
protected $appends = ['product_1_quality'];
-
创建以下访问器:
public function getProduct1QualityAttribute() { $value = $this->attributes['product_1_quality']); // do something with your $value and return. }
$value作为参数不能工作-使用$attributes数组访问