【问题标题】:Issue with Form model binding in Laravel 5.4Laravel 5.4 中的表单模型绑定问题
【发布时间】:2017-07-26 07:17:53
【问题描述】:

当我在 Laravel 中进行表单模型绑定时,这通常不会发生,但由于某种原因,每次我拉出绑定的表单时,我都会得到完全相同的记录。

{!! Form::model($contact, ['method'=>'PUT', 'route'=>['contact.update', $contact->id]]) !!}
{!! Form::label('firstname', 'First Name:') !!}
{!! Form::text('firstname', null, ['class'=>'form-control']) !!}
{!! Form::label('lastname', 'Last Name:') !!}
{!! Form::text('lastname', null, ['class'=>'form-control']) !!}
{!! Form::label('email', 'Email:') !!}
{!! Form::text('email', null, ['class'=>'form-control']) !!}
{!! Form::label('address', 'Address:') !!}
{!! Form::text('address', null, ['class'=>'form-control']) !!}
{!! Form::label('phone_number', 'Phone:') !!}
{!! Form::text('phone_number', null, ['class'=>'form-control']) !!}
{!! Form::submit('Update Contact', ['class'=>'btn btn-primary']) !!}
{!! Form::button('Close', ['class'=>'btn btn-default', 'data-dismiss'=>'modal']) !!}
{!! Form::close() !!}

控制器:

public function index()
{
    $user = Auth::user();
    $contacts = $user->contacts()->get();
    return view('contacts.index', compact('contacts','user'));
}

当我单击此按钮时,该表单将作为模态弹出

<button class="btn btn-default editContact" data-toggle="modal" data-target="#editModal">Edit Contact</button>

我以前使用过同样的格式,每次点击它通常都会给我不同的记录。但是由于某种原因,我单击以显示更新表单的每条记录,每次都注册到相同的记录。有关如何解决此问题的任何想法?

【问题讨论】:

  • 这是一个用户表,每行都有一个编辑联系按钮,会触发引导模式?
  • 没错
  • 能否给出从服务器获取用户数据的js脚本?
  • Javascript 是最好的方法吗?我完全没有意识到这一点。因此,如果我给按钮提供类似 data-id={{$contact->id}} 的内容以使用 Javascript 获取,那应该会提取正确的记录吗?
  • 是的。并且您可以使用 event.relatedTarget 对象访问该行的相应数据ID。然后您使用该数据 ID 通过 ajax 获取。检查this

标签: php forms laravel


【解决方案1】:

我想你可以试试这个:

public function index()
{
    $user = Auth::user();
    $contacts = Contacts::where('user_id',$user->id)->first();
    return view('contacts.index', compact('contacts','user'));
}

希望对你有帮助!!!

【讨论】:

    【解决方案2】:

    除了已经说过的,

    我的印象是$contact在:

    {!!
        Form::model($contact, [
             'method'=>'PUT',
             'route'=>['contact.update', $contact->id]
        ])
    !!}
    

    应该是$contacts

    【讨论】:

      猜你喜欢
      • 2017-06-27
      • 1970-01-01
      • 2013-05-28
      • 2016-08-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-21
      • 2013-11-02
      相关资源
      最近更新 更多