Laravel模态加载仅最后输入 [英] Laravel modal loads only last entry

查看:61
本文介绍了Laravel模态加载仅最后输入的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我一直在尝试使用模式在Laravel中创建和编辑条目.我正在使用简单的模式而不是ajax.我可以添加条目,但是当我尝试编辑条目时,它只会加载模式中的最后一个条目.

I have been trying to use modal to create and edit entries in Laravel. I am using simple modal instead of ajax. I can add entries, but when I try to edit an entry, it only loads the last entry in the modal.

这是我的索引(从那里我叫情态)

Here is my index (from where I am calling modal)

@foreach ($clients as $client)
       <tr>
       <td>{{ $client->name }}</td>
       <td><button data-target="modal2" class="btn modal-trigger1"><a href="{{route('client.edit', $client->id)}}">Edit</a></button></td>
       </tr>
@endforeach

这是编辑文件(模式文件)

Here is edit file (modal file)

<div id="modal2" class="modal">
    <div class="panel panel-default">
        <div class="modal-content">
            <p class="flow-text">Edit client</p>
            <form class="form" role="form" method="POST" action="{{ url('/client/'. $client->id) }}">

                <input type="hidden" name="_method" value="patch">
                {!! csrf_field() !!}

                <div class="form-group{{ $errors->has('name') ? ' has-error' : '' }}">
                    <label class="control-label">Name</label>
                    <input type="text" class="form-control" name="name" value="{{ $client->name }}">
                    @if ($errors->has('name'))
                        <span class="help-block">
                        <strong>{{ $errors->first('name') }}</strong>
                    </span>
                    @endif
                </div>

            </form>
        </div>
    </div>
</div>   

控制器中的编辑是

public function edit($id)
    {
        $clients = Client::findOrFail($id);
        return view('client.edit', compact('clients'));
    }

它仅加载表中的最后一个条目,而不加载行中的条目ID.

It only loading the last entry in the table, not the entry id in the row.

我正在使用Laravel 5.3.请帮助

I am using Laravel 5.3. Please help

推荐答案

将数据设置为您的编辑链接

Set data to your edit link

@foreach ($clients as $client)
  <tr>
    <td>{{ $client->name }}</td>
    <td><a href="#" class="edit-client-link" data-client-id="{{$client->id}}" data-client-name="{{$client->name}}">Edit</a></td>
  </tr>
@endforeach

//在编辑按钮上,单击获取数据并将数据设置为模态

//On edit button click get data and set data to modal

$(document).on('click', '.edit-city-link', function(){
  var client_id = $(this).data('client-id');
  var client_name = $(this).data('client-name');
  $('#client-id').val(client_id);
  $('#client-name').val(client_name);
  $('#edit-client-modal').modal('show');
});

//这是模式

<div id="modal2" class="modal">
  <div class="panel panel-default">
    <div class="modal-content">
      <p class="flow-text">Edit client</p>
      <form id="edit-client-modal" class="form" role="form" method="POST" action="{{ url('/client/edit') }}">
        <input type="hidden" name="_method" value="patch">
        {!! csrf_field() !!}
        <div class="form-group{{ $errors->has('name') ? ' has-error' : '' }}">
            <label class="control-label">Name</label>
            <input id="client-id" type="hidden" class="form-control" name="client-id">
            <input id="client-name" type="text" class="form-control" name="name">
            @if ($errors->has('name'))
                <span class="help-block">
                <strong>{{ $errors->first('name') }}</strong>
            </span>
            @endif
        </div>
      </form>
    </div>
  </div>
</div>   

这是您的控制器方法

public function edit($request_data)
{
  $obj_client = Client ::find($request_data['client-id']);
  $obj_client = $request_data['client-name'];
  $obj_client->save(); 
}

这篇关于Laravel模态加载仅最后输入的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆