首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >LaravelCollective输入默认值

LaravelCollective输入默认值
EN

Stack Overflow用户
提问于 2016-08-26 02:34:38
回答 3查看 5.4K关注 0票数 1

我正在用LaravelCollective构建一个表单,并且我从表单模型绑定中获得了一些好处,可以用它来创建或编辑模型。

我有这个字段:

代码语言:javascript
复制
{{ Form::text('price', null, ['class' => 'form-control']) }}

如果我用Form:: model ()打开表单,它会显示模型的值。问题是我需要它的默认值为0。

我是用这种方式实现的,但我正在寻找一种更优雅的方式

代码语言:javascript
复制
{{ Form::text('price', isset($product)? $product->price : 0, ['class' => 'form-control']) }}

如果我这样做:

代码语言:javascript
复制
{{ Form::text('price', 0, ['class' => 'form-control']) }}

即使我在编辑模型,它也总是将值覆盖为0。

EN

回答 3

Stack Overflow用户

发布于 2016-08-26 03:31:30

您可以尝试Laravel表单模型binding.Reference Link

路由:

代码语言:javascript
复制
Route::get('/user/edit/{id}', [
            'as' => 'updateUser',
            'uses' => 'UserController@getUserEditFrom'
        ]);

控制器:

代码语言:javascript
复制
public function getUserEditFrom($id, UserRepository $userRepository)
    {
        return view('users.edit', [
            'user' => $userRepository->find($id)
        ]);
    }

视图

代码语言:javascript
复制
{!! Form::model($user, ['url' => route('updateUser', ['id' => $user->id])]) !!}
        <div class="form-group {{ $errors->first('name', 'has-error') }}">
                {!! Form::label('name', 'Name *') !!}
                {!! Form::text('name', null, ['class' => 'form-control']) !!}
                {!! $errors->first('name', '<span class="help-block">:message</span>') !!}
            </div>
             <div class="form-group {{ $errors->first('username', 'has-error') }}">
                {!! Form::label('username', 'Username *') !!}
                {!! Form::text('username', null, ['class' => 'form-control']) !!}
                {!! $errors->first('username', '<span class="help-block">:message</span>') !!}
            </div>
             <div class="form-group {{ $errors->first('email', 'has-error') }}">
                {!! Form::label('email', 'Email *') !!}
                {!! Form::text('email', null, ['class' => 'form-control']) !!}
                {!! $errors->first('email', '<span class="help-block">:message</span>') !!}
            </div>

    {!! Form::close() !!}
票数 1
EN

Stack Overflow用户

发布于 2016-08-26 03:30:36

您可以将第二个参数更改为$product->price || 0

或者:

您似乎有一个价格属性为空的产品型号。虽然这不能直接回答您的问题,但我建议您为每个可能的列设置一个默认值,这样这样的问题和更多的问题就不会成为障碍。您可以简单地将price列的默认值设置为0,或者为model::creating添加一个事件监听器,检查null值并将其更改为0。

票数 0
EN

Stack Overflow用户

发布于 2016-08-26 03:52:10

你也可以通过这种方式实现{{ Form::text('price', @$product->price ? :0, ['class' => 'form-control']) }}

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39152493

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档