如何设置列标题以在刀片模板中使用?

时间:2019-05-06 11:44:19

标签: laravel eloquent

我需要为每个$ fillable设置标题文本

在我为$ fillable授课时在模板中使用它,我想要这样的东西:

@foreach($user->getFillable() as $field)
   Title: {{$user->titles->$field}} value: {{$user->$field}}<br>
@endforeach

我很确定我们可以在模型类中创建数组并用标题填充它,但是它将使$ fillable var的代码加倍。也许我们可以通过其他方式做到这一点?

1 个答案:

答案 0 :(得分:1)

@foreach($user->getAttributes() as $attribute => $value)
   Title: {{ $attribute }} value: {{ $value }}<br>
@endforeach

或在模型中

public $titles = [
    'attribute_name' => 'Attribute Name',
    'attribute' => 'Corespond Title',
    ................
];

public function getTitle($attribute) 
{
    return $this->titles[$attribute] ?? title_case($attribute);
}

用法

@foreach($user->getAttributes() as $attribute => $value)
   Title: {{ $user->getTitle($attribute) }} value: {{ $value }}<br>
@endforeach

也可以在lang文件中创建它 在 resources / lang / zh_CN 中创建 attributes.php

[
    'attribute_name' => 'Attribute Name',
    'attribute' => 'Corespond Title',

]

用法

@foreach($user->getAttributes() as $attribute => $value)
   Title: {{ __('attributes.'. $attribute) }} value: {{ $value }}<br>
@endforeach