gpt4 book ai didi

php - 在 illuminate/html 模型表单中使用 laravel 演示器

转载 作者:搜寻专家 更新时间:2023-10-31 21:31:04 25 4
gpt4 key购买 nike

我使用来自 laracasts video 的 laravel presenter。基本上没那么重要。我想要的是在使用 Form::model 时格式化输出数据。因此,例如,我输入了一个电话号码:

<div class="form-group">
{!! Form::label('phone', 'Phone' ) !!}
{!! Form::text('phone', null, ['class' => 'form-control', 'id' => 'phone']) !!}
</div>

在数据库中,我以 e.164 格式存储手机,但当我输出它们时,我想以更易读的格式显示它们。但是 Laravel 的数据访问器对我没有帮助,因为在我的应用程序中我想使用 e.164。如果我为 phone 属性设置访问器,那么我将无法在我的类中获取 e.164。因此,我使用演示者而不是访问器,但这并不重要。假设我想在 Form::text 中输出模型属性时使用 php number_format 函数。我该怎么做?

最佳答案

没有什么会迫使您拥有一对一的字段访问者关系。因此,您可以创建一个格式化的电话属性以在表单中使用,并直接从您的类中使用电话属性。

public function getFormattedPhoneAttribute()
{
return // formatted $this->phone
}

如果您已经设置了演示者,那么您可以在您的表单中使用它们而不是使用 Form::model。

<div class="form-group">
{!! Form::label('phone', 'Phone' ) !!}
{!! Form::text('phone', $user->present()->phone, ['class' => 'form-control', 'id' => 'phone']) !!}
</div>

其中任何一个都适合您,但我建议您选择一个:Accessors 或 Presenter,而不是两者。

关于php - 在 illuminate/html 模型表单中使用 laravel 演示器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30007975/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com