मेरे पास एक पृष्ठ है जो डेटाबेस से रिकॉर्ड प्रदर्शित करता है और Laravel 5.8 में बूटस्ट्रैप मोडल का उपयोग करके एक नया रिकॉर्ड और संपादन जोड़ने के साथ दो बटन प्रदर्शित करता है। जब मैं डेटाबेस में एक नया रिकॉर्ड जोड़ता हूं, तो सब कुछ काम करता है। समस्या यह है कि किसी रिकॉर्ड को संपादित करते समय यह केवल पहला रिकॉर्ड बदलता है क्योंकि यह शेष आईडी को स्थानांतरित नहीं करता है यह हमेशा केवल पहली आईडी दिखाता है। जैसा कि मैं प्रत्येक बटन संपादन के साथ रिकॉर्ड प्रदर्शित करता हूं, मैं रिकॉर्ड की आईडी प्रदर्शित करता हूं और सब कुछ सही ढंग से दिखाता है लेकिन बटन संपादित करने के बाद आईडी प्रदान नहीं करता है। फॉर्म में मैं निम्नलिखित कोड का उपयोग करता हूं। स्रोत: [एक लिंक]https://github.com/page4me/transport


@foreach($cars as $car)
               @if(($car->status)==1)

                 <tr>
                   <td class="text-center">{{$i++}}</td>
                   <td>{{$car->rodzaj_poj}}<br /><strong> {{$car->marka}} </strong></td>
                   <td class="text-center">{{$car->nr_rej}}</td>
                   <td class="text-center">{{$car->nr_vin}}</td>
                   <td class="text-center">{{$car->dmc}} kg</td>
                   <td class="text-center">{{$car->wlasnosc}}</td>
                   <td class="text-center">wprowadzono <br />{{$car->data_wpr}} r.</td>
                   <td class="text-center" colspan="2">
                   {{$cid =$car->id}}
                    <button data-toggle="modal" data-idcar="{{$car->id}}" data-nr_rej="{{$car->nr_rej}}"  data-marka="{{$car->marka}}" data-nr_vin="{{$car->nr_vin}}" data-wlasnosc="{{$car->wlasnosc}}" data-data_wpr="{{$car->data_wpr}}" data-dmc="{{$car->dmc}}" data-rodzaj_poj="{{$car->rodzaj_poj}}" data-target="#editModal" role="button" class="btn btn-success btn-sm" alt="Edycja" ><i class="fa fa-edit"></i></button>

                    <a href="#" role="button" class="btn btn-danger btn-sm">Wycofaj</a>

                                      <!-- edit modal -->
                                <!-- Modal -->
                                  <div class="modal fade" id="editModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalCenterTitle" aria-hidden="true">
                                    <div class="modal-dialog modal-dialog-centered modal-lg" role="document">
                                      <div class="modal-content text-left">
                                        <div class="modal-header  bg-success">
                                          <div class="card-header bg-success text-light" >
                                             Edycja pojazdu przedsiębiorcy o  -
                                               <span style="color:#000;font-size:15px;"> Nr licencji / zezwolenia:
                                                 @foreach($dok as $dk)
                                                   {{ $dk->nr_dok }}

                                               </span><span style="color: #fff;font-size:15px;">wydano dn. {{ $dk->data_wyd}}   r.</span>

                                                 @endforeach
                                            </div>
                                          <button type="button" class="close text-light" data-dismiss="modal" aria-label="Close">
                                            <span aria-hidden="true">&times;</span>
                                          </button>
                                        </div>
                                        <div class="modal-body">
                                           ID:  {{$cid =$car->id}}
                                            <!-- Form edit car -->
                                                <form method="post" action="{{ route('pojazdy.update', $cid ) }}">
                                              <div class="row">
                                                    @csrf
                                                      @method('PATCH')
                                                 <div class="col-md-12 form-group">
                                                    <label for="nr_rej"><strong>Numer rejestracyjny:</strong></label>
                                                    <input type="text" class="form-control" name="nr_rej" id="nr_rej" value="{{$car->nr_rej}}"/>
                                                </div>
                                               </div>

यह हमेशा केवल पहली आईडी प्रदर्शित करता है, भले ही यह फ़ोरैच लूप में प्रदर्शित हो। बटन के आगे संपादित सही ढंग से आईडी दिखाता है और action = "{{route ('vehicle.update', $ car-> id)}}" में उपयोग करते समय पहले से ही एक समस्या है

0
Erni 28 जुलाई 2019, 16:55

1 उत्तर

सबसे बढ़िया उत्तर

आपको जो समस्या हो रही है वह यह है कि आप $cars पर लूप कर रहे हैं और डोम के भीतर एक से अधिक तत्वों को उसी id पर सेट कर रहे हैं। उस foreach लूप में, आपके पास कई आइटम हैं जिन्हें कई बार ओवरराइट किया जाएगा।

उदाहरण के लिए:

//This SAME id will appear every time you have a new car loop
<div class="modal fade" id="editModal"/>

//This nr_rej will ONLY be the LAST nr-rej in the loop.  It will overwrite every one before it.
<input type="text" class="form-control" name="nr_rej" id="nr_rej" value="{{$car->nr_rej}}"/> 

आप इसे कई तरह से ठीक कर सकते हैं। आप मानों में सरणियाँ जोड़ सकते हैं, आप डोम एलिमेंट आईडी (id=nr_rej-{{$car->id}}) आदि में एक वास्तविक कार id जोड़ सकते हैं। इस तरह आपको प्रत्येक लूप के लिए स्क्रीन पर मोडल कोड चिपकाने की आवश्यकता नहीं है - बस एक।

उम्मीद है ये मदद करेगा

0
Watercayman 28 जुलाई 2019, 17:25