Это мои маршруты
Код: Выделить всё
Route::get('/product/create',[ProductoController::class,'createProduct'])->name('product.create')->middleware('auth');
Route::post('/product/create',[ProductoController::class,'storeProduct'])->middleware('auth');
Route::get('/product/edit/{id}',[ProductoController::class, 'editProduct'])->name('product.edit');
Route::put('/product/update/{id}',[ProductoController::class, 'updateProduct'])->name('product.update');
Эта функция моего контроллера создает продукт
Код: Выделить всё
public function storeProduct(Request $request): RedirectResponse
{
//Array de id de categorías
$idsCategories = $request['categories'];
// Valida los datos del formulario
$validated = $request->validate($this->rules,$this->rulesMessages);
//Creamos el producto y asociamos sus categorías
Producto::create([
'name' => $validated['name'],
'price' => $validated['price'],
'description' => $validated['description'],
'stock' => $validated['stock'],
])->categories()->attach($idsCategories);
//Redirecciona al menu
return redirect(RouteServiceProvider::HOME);
}
Код: Выделить всё
public function updateProduct(Request $request, $idProduct): RedirectResponse
{
//Recupers el producto
$producto = Producto::find($idProduct);
//Valida los cambios
$validated = $request->validate($this->rules,$this->rulesMessages);
//Creamos el producto y asociamos sus categorías
$producto->update([
'name' => $validated['name'],
'price' => $validated['price'],
'description' => $validated['description'],
'stock' => $validated['stock'],
]);
//Asociar categorías
$producto->categories()->sync($request['categories']);
//Redirecciona al menu
return redirect(RouteServiceProvider::HOME);
}
Код: Выделить всё
@csrf
@isset($product)
@method('PUT')
@endisset
{{-- Nombre --}}
Nombre
@error('name')
{{ $message }}
@enderror
{{-- Precio --}}
Precio
@error('price')
{{ $message }}
@enderror
{{-- Descripción --}}
Descripción
@error('description')
{{ $message }}
@enderror
{{-- Categorías --}}
Categoría:
@foreach($categories as $category)
{{$category->name}}
@endforeach
{{-- Stock --}}
Cantidad
@error('stock')
{{ $message }}
@enderror
{{!isset($product) ? 'Crear producto' : 'Actualizar producto'}}
Я хотел бы решить, почему CSS не отображается, если я обновляю продукт. Потому что, когда я создаю продукт, тот же шаблон появляется в CSS
Подробнее здесь: https://stackoverflow.com/questions/784 ... -php-views
Мобильная версия