Error en rutas en laravel, no se porque :(

  • Autor Autor pa3lo022
  • Fecha de inicio Fecha de inicio
P

pa3lo022

Gamma
Verificado por Whatsapp
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Hola a todos, tengo un problema con unas rutas en laravel y no entiendo que estoy haciendo mal. Me podrian dar una mano 🙁

El formulario en blade. Cuando selecciono el primer select (select product) me trae los datos del producto
Insertar CODE, HTML o PHP:
<form method="POST" action="{{ route('sale.productAdd') }}">
                            @csrf
                            <div class="border border-3 p-4 rounded">
                                <div class="row g-3">
                                    <div class="mb-3">
                                        <select class="single-select" name="product" require onchange='location = this.options[this.selectedIndex].value;'>
                                            @if(!Empty($productChoose))
                                            <option value="{{ $productChoose->id }}">{{ $productChoose->name }} - #{{ $productChoose->internalCode }}</option>
                                            <option disabled>-----------------------------</option>
                                            @else
                                            <option>Seleccione un producto</option>
                                            <option disabled>----------------</option>
                                            @endif
                                            @foreach($products as $product)
                                            <option value="{{ route('sale.productChoose', ['id'=>$product->id]) }}">{{ $product->name }} - #{{ $product->internalCode }}</option>
                                            @endforeach
                                        </select>
                                    </div>

                                    @if(!Empty($productChoose))
                                    <div class="mb-3">
                                        <select class="single-select" name="client_id" require>
                                            <option>Venta Sin Cliente</option>
                                            <option disabled>----------------</option>
                                            @foreach($clients as $client)
                                            <option value="{{ $client->id }}">{{ $client->name }}</option>
                                            @endforeach
                                        </select>
                                    </div>

                                    <div class="col-md-6">
                                        <label for="inputPrice" class="form-label">Precio Costo</label>
                                        <input type="text" class="form-control" id="inputPrice" name="mount" placeholder="Precio Costo" value="{{ $productChoose->buyPrice, old('buyPrice') }}" disabled>
                                    </div>
                                    <div class="col-md-6">
                                        <label for="inputCostPerPrice" class="form-label">Stock</label>
                                        <input type="text" class="form-control" id="inputCostPerPrice" name="quantity" placeholder="Stock producto" value="{{ $productChoose->quantity, old('quantity') }}" disabled>
                                    </div>
                                    <div class="col-md-6">
                                        <label for="sellPrice" class="form-label">Precio Venta</label>
                                        <input type="text" class="form-control" id="sellPrice" name="sellPrice" placeholder="Precio de venta" value="{{ $productChoose->sellPrice, old('sellPrice') }}">
                                    </div>
                                    <div class="col-md-6">
                                        <label for="discountPrice" class="form-label">Precio Descuento</label>
                                        <input type="text" class="form-control" id="discountPrice" name="discount" placeholder="Precio de Descuento" value="{{ $productChoose->discount, old('discount') }}">
                                    </div>
                                    <div class="col-md-6">
                                        <label for="inputCostPerPrice" class="form-label">Cantidad</label>
                                        <input type="number" class="form-control" id="quantity" name="quantity" placeholder="Cantidad a vender" value="1">
                                    </div>
                                    @endif

                                    <div class="col-12">
                                        <div class="d-grid">
                                            <button type="submit" class="btn btn-primary">Agregar Venta</button>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </form>

Una vez que se selecciona el producto (con el anterior select) va a este controller y trae los datos
Insertar CODE, HTML o PHP:
    public function productChooseSale($id)
    {
        $productChoose = Product::find($id);

        $products = Product::where('shop_id', shopConnect()->id)
            ->get();

        $clients = Client::where('shop_id', shopConnect()->id)
            ->get();


        return view('web.adminUser.sales.addSale', compact('products', 'productChoose', 'clients'));
    }

Y estas son las rutas
Insertar CODE, HTML o PHP:
        Route::get('/ingresar-venta/producto-elegido/{id}', 'AdminClient\SaleController@productChooseSale')->name('sale.productChoose');
        Route::post('/ingresar-venta/agregar-venta', 'AdminClient\SaleController@productAddSale')->name('sale.productAdd');

Pero al tratar de insertar el producto va al controller productChooseSale en vez de ir a productAddSale

Muchas gracias, saludos
 
Pues las rutas que yo sepa solo van en el formulario, la ruta de productAddSale se estaria guardando como texto en el input "product".
 
php artisan optimize:clear
el problema es con el /{id}'
Route:😛attern('id', '[0-9]+');
 
Atrás
Arriba