【问题标题】:Laravel update via form model bindingLaravel 通过表单模型绑定更新
【发布时间】:2014-06-27 11:25:33
【问题描述】:

我有一个小网络应用程序,用户可以在其中注册,如果他们想稍后更新他们的帐户,则会显示一个包含他们所有信息的表单。通过表单模型绑定。如果他们保存它并且用户名没有更改,则会出现问题,因为在验证中它必须是唯一的但它已经存在(当然,他们正在更新,而不是创建)。你会怎么做才能避免这个问题?

【问题讨论】:

    标签: laravel laravel-4 model-binding


    【解决方案1】:

    你能分享你的代码吗?

    通常这里的代码应该是这样的。

        {{ Form::model($user, array('route' => 'user.edit', $user->id)) }}  
    
        <!-- name -->
        {{ Form::label('Full Name', 'Full Name') }}
        {{ Form::text('Full Name') }}
    
        <!-- email -->
        {{ Form::label('emailAddress', 'emailAddress') }}
        {{ Form::email('emailAddress') }}       
    
        {{ Form::submit('Update') }}
    
    {{ Form::close() }}
    

    我建议不要在您的表单中绑定用户名或使其只读。我假设您无论如何都会在会话中存储用户 ID 或用户名。

    【讨论】:

    • 抱歉,我正在使用手机,所以无法上传代码。我没有在会话中存储用户 ID 或用户名,你会怎么做?它有什么好处? ps:我已经知道怎么做表单模型绑定了
    • 此用户是否需要先验证或登录您的网站才能更新其信息?
    • 他们确实需要先登录网站来更新他们的信息(这已经实现)
    • 如果他们需要登录,那么您必须通过用户 ID 或用户名维护他们的会话,因此您应该使用它进行更新。要访问已登录的用户,您只需这样做 $id = Auth::id();只是不要在论坛中绑定您的用户名。请参阅此文档laravel.com/docs/security 并查看“访问登录用户”部分
    猜你喜欢
    • 2013-05-28
    • 1970-01-01
    • 2019-10-03
    • 1970-01-01
    • 2013-11-02
    • 2014-02-27
    • 2013-07-13
    • 2014-12-02
    • 2016-08-25
    相关资源
    最近更新 更多