Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
роуты
Route::group(['prefix' => 'admin'], function(){
//главная страница админки
Route::get('/',function(){
if (view()->exists('admin.index')){
$admin_data = [
'title' => 'товары'
];
return view('admin.layouts.app',$admin_data);
}
});
//листинг товаров из базы
Route::get('goods',['uses'=>'AdminGoodControllerList@execute','as'=>'goodslist']);
//показываем форму для добавления
//Route::get('/addgood',['uses'=>'AdminGoodControllerAddGood@execute','as'=>'addgood']);
Route::match(['get','post'],'/addgood',['uses'=>'AdminGoodControllerAddGood@execute','as'=>'addgood']);
//листинг товаров из базы
Route::match(['get','post','delete'],'/editgood/{good?}',['uses'=>'AdminGoodControllerEditGood@execute','as'=>'editgood']);
});
контролер AdminGoodControllerEditGood
<?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\Storage;
use Illuminate\Http\Request;
use Validator;
use App\Good;
use App\Image;
class AdminGoodControllerEditGood extends Controller
{
//показываем форму добавления в базу продукта
public function execute(Good $good, Request $request){
if ($request->isMethod('post')){
$input = $request->except('_token');
$massages = [
'required'=>'Ты обязан заполнить это :attribute',
'unique'=>'Эта хрень :attribute должна быть уникальной',
'numeric'=>'Вэтом поле :attribute только цифры можно юзать'
];
$rullers = [
'title' => 'required|max:255',
'description' => 'required',
'courier'=> 'required|unique:goods,courier,'.$input['id'],
'sku'=> 'required|unique:goods,sku,'.$input['id'],
'price'=> 'required|numeric',
'quantity'=> 'required|numeric'
];
$validator = Validator::make($input,$rullers,$massages);
if($validator->fails()) {
return redirect()
->route('editgood',['good'=>$input['id']])
->withErrors($validator);
}
$arr = [
'title' => 'Редактор',
'data' => $good
];
}
$arr = [
'title' => 'Редактор',
'data' => $good
];
return view('admin.formEdit',$arr);
}
}
/editgood/{good?} - если так то по запросу:
/admin/editgood/9 - будет идти все ок
но если я в роутах напишу:
/editgood/{good} - те good как обязательная переменная, делаем такой же запрос
/admin/editgood/9 - пишет обязательная переменная good пропущена
Так же не должно быть. Что делать?
Не в сети
Страницы 1