Сохраните данные снова с тем же идентификатором Laravel - PullRequest
0 голосов
/ 05 марта 2020

Я хочу создать заказ с несколькими статьями, поэтому сначала я создал блэйд, где вы можете создать заказ, а затем вы нажимаете вперед, чтобы попасть на другой блэйд, где вы можете отправлять статьи для этого заказа, поэтому Второе лезвие Я сделал 3 кнопки вниз, одну для отправки и выхода, другую для отправки и добавления другой статьи, а другую для отправки и создания нового заказа. Так что моя кнопка отправки и добавления статьи не работает должным образом, потому что я не получаю order_id (иностранный идентификатор заказа). Возможно, ошибка в моей функции контроллера

Вот мой код

Создать блэйд ордера

<div class="form-group">
<label>Bestelnummer</label>
                                            <div class="input-group">
                                                <input type="text" name="ordernumber" class="form-control"
                                                       placeholder="Vul bestelnummer in (653...)"
                                                       value="{{ old('ordernumber') }}">
                                            </div>
                                        </div>
                                        <div class="form-group">
                                            <label>HB Ordernumber</label>
                                            <input type="text" name="hbnumber" class="form-control"
                                                   placeholder="Vul HB Ordernummer in" value="{{ old('hbnumber') }}">
                                        </div>
                                        <div class="form-group">
                                            <label>Klantnaam</label>
                                            <input type="text" name="customername" class="form-control"
                                                   placeholder="Vul klantnaam in" value="{{ old('customername') }}">
                                        </div>
                                        <div class="form-group">
                                            <button type="submit" class="btn btn-success" name="submit_order" value="submit">Doorgaan
                                            </button>
                                        </div>

И эта функция в контроллер создания

$retourorder = new Returnorder();

        $retourorder->firmaname = request('firmaname');
        $retourorder->contactperson = request('contactperson');
        $retourorder->email = request('email');
        $retourorder->ordernumber = request('ordernumber');
        $retourorder->hbnumber = request('hbnumber');
        $retourorder->customername = request('customername');

        $retourorder->save();

        $admin = \request()->get('admin');

        return view ('retour.create_articles', ['retourOrder' => $retourorder, 'admin' => $admin]);

лезвие Create_articles

<div class="form-group">
                                                <label for="order_id" >Bestelnummer</label>
                                                <select name="order_id" class="form-control" >
                                                        <option
                                                            value="{{ $retourOrder->id }}" {{ old('order_id') == $retourOrder->ordernumber ? 'selected' : '' }} > {{ $retourOrder->ordernumber }} </option>
                                                </select>
                                            </div>
                                        <div class="form-group">
                                            <label>Artikelnummer</label>
                                            <input type="text" name="articlenumber" class="form-control"
                                                   placeholder="Vul artikelnummer in" value="{{ old('articlenumber') }}">
                                        </div>
                                        <div class="form-group">
                                            <label>Retour aantal</label>
                                            <input type="text" name="return_quantity" class="form-control"
                                                   placeholder="Vul retour aantal in"
                                                   value="{{old('return_quantity')}}">
                                        </div>
                                        <div class="form-group">
                                            <label>Kwaliteit retour</label>
                                            <select name="return_quality" class="form-control">
                                                <option value="1" {{ old('return_quality') == 1 ? 'selected' : '' }} >Verkoopbaar</option>
                                                <option value="2" {{ old('return_quality') == 2 ? 'selected' : '' }} >Niet verkoopbaar</option>
                                            </select>
                                        </div>
                                        <div class="form-group">
                                            <label>Teruggave reden volgens retourbewijs</label>
                                            <select name="return_reason" class="form-control">
                                                <option value="1" {{ old('return_reason') == 1 ? 'selected' : '' }} >Levertijd</option>
                                                <option value="2" {{ old('return_reason') == 2 ? 'selected' : '' }} >Kwaliteit</option>
                                                <option value="3" {{ old('return_reason') == 3 ? 'selected' : '' }} >Defect</option>
                                                <option value="4" {{ old('return_reason') == 4 ? 'selected' : '' }} >Overig</option>
                                                <option value="5" {{ old('return_reason') == 5 ? 'selected' : '' }} >Aanname geweigerd</option>
                                                <option value="6" {{ old('return_reason') == 6 ? 'selected' : '' }} >Adres ontvanger onbekend
                                                </option>
                                            </select>
                                        </div>
                                        <div class="form-group">
                                            <label for="inputGroupFile01">Upload foto (Maximaal 1 foto)</label>
                                            <input type="file" name="image" class="form-control-file"
                                                   id="inputGroupFile01"
                                                   aria-describedby="inputGroupFileAddon01">
                                        </div>
                                        <div class="form-group">
                                            <button type="submit" class="btn btn-success" name="submit" value="submit">Verstuur
                                            </button>
                                            <button type="submit" class="btn btn-secondary"
                                                    name="submit" value="submit_again">Nieuw artikel
                                            </button>
                                            <button type="submit" class="btn btn-danger"
                                                    name="submit" value="submit_new">Verstuur & Nieuwe retourmelding
                                            </button>

Функция контроллера create_articles

if ($request->hasFile('image')) {
            $filenameWithExt = $request->file('image')->getClientOriginalExtension();
            $filename = pathinfo($filenameWithExt, PATHINFO_FILENAME);
            $extension = $request->file('image')->getClientOriginalExtension();
            $fileNameToStore = $filename . '_' . time() . '.' . $extension;
            $request->file('image')->move('storage/images', $fileNameToStore);

        } else {
            $fileNameToStore = 'noimage.jpg';
        }

        $retourartikel = new Returnarticles();

        $retourartikel->order_id = request('order_id');
        $retourartikel->articlenumber = request('articlenumber');
        $retourartikel->return_quantity = request('return_quantity');
        $retourartikel->return_quality = request('return_quality');
        $retourartikel->return_reason = request('return_reason');
        $retourartikel->images = $fileNameToStore;

        $retourartikel->save();

        $admin = \request()->get('admin');

        if ($request->submit === 'submit') {
            return redirect('/retour')->with('message', 'Je retourmelding is succesvol verzonden');
        } elseif ($request->submit === 'submit_again') {
            return view('retour.create_articles', ['retourOrder' => $retourartikel, 'admin' => $admin])->with('message', 'Je kunt nu een ander artikelnummer toevoegen')->withInput($request->only('order_id'));
        } else {
            return redirect('/retour/create')->with('message', 'Je retourmelding is succesvol verzonden, je kunt nu een nieuwe retourmelding maken');
        }

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...