0
我正在學習laravel,但有這個錯誤,我可以解決,請幫助。 (laravel版本5.4.17)laravel類POS Http Request CategoriaFormRequest不存在
所以有一個視圖,它顯示了所有的類別和他們添加一個新的按鈕。 (就像在圖片)
main view for a list of categories
這裏我控制器(CategoriaController.php)
<?php
namespace POS\Http\Controller;
use Illuminate\Http\Request;
use POS\Categoria;
use Illuminate\Support\Facades\Redirect;
use POS\Http\Request\CategoriaFormRequest;
use DB;
class CategoriaController extends Controller
{
public function __construct()
{
}
public function index(Request $request){
if($request){
$query=trim($request->get('SearchText'));
$categorias=DB::table('categoria')->where('nombre','LIKE','%'.$query.'%')
->where('condicion','=','1') //muestra las categorias con condicion activa
// ->orderBy('idcategoria','desc') //ordena de manera descendente
->paginate(); //paginacion que muestra registros de 10 en 10
return view('almacen.categoria.index',["categorias"=>$categorias,"searchText"=>$query]);
}
}
public function create(){
return view("almacen.categoria.create");
}
public function store(CategoriaFormRequest $request){
$categoria=new Categoria;
$categoria->nombre=$request->get('nombre');
$categoria->descripcion=$request->get('descripcion');
$categoria->condicion='1';
$categoria->save();
return Redirect::to('almacen/categoria');
}
public function show($id){
return view("almacen.categoria.show",["categoria"=>Categoria::findorfail($id)]);
}
public function edit($id){
return view("almacen.categoria.edit",["categoria"=>Categoria::findorfail($id)]);
}
public function update(CategoriaFormRequest $request,$id){
$categoria=Categoria::findorfail($id);
$categoria->nombre=$request->get('nombre');
$categoria->descripcion=$request->get('descripcion');
$categoria->update();
return Redirect::to('almacen/categoria');
}
public function destroy($id){
$categoria=Categoria::findorfail($id);
$categoria->condicion='0';
$categoria->update();
return Redirect::to('almacen/categoria');
}
}
?>
那麼這是我的路線(web.php)
<?php
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
Route::get('/', function() {
return view('welcome');
});
Route::resource('almacen/categoria','CategoriaController');
這是我的請求(CategoriaFormRequest.php)
<?php
namespace POS\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class CategoriaFormRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'nombre'=>'required|max:50',
'descripcion'=>'max:256',
];
}
}
而且這是我的看法(create.blade.php)
@extends ('layouts.admin')
@section ('contenido')
<div class="row">
<div class="col-lg-6 col-md-6 col sm-6 col-xs-12">
<div class="page-header">Nueva Categoría</div>
@if (count($errors)>0)
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{$error}}</li>
@endforeach
</ul>
</div>
@endif
{!!Form::open(array('url'=>'almacen/categoria','method'=>'POST','autocomplete'=>'off'))!!}
{{Form::token()}}
<div class="form-group">
<label for="nombre">Nombre</label>
<input type="text" name="nombre" class="form-control" placeholder="Nombre...">
</div>
<div class="form-group">
<label for="descripcion">Descripción</label>
<input type="text" name="descripcion" class="form-control" placeholder="Descripción...">
</div>
<div class="form-group">
<button class="btn btn-primary" type="submit">Guardar</button>
<button class="btn btn-danger" type="reset">Cancelar</button>
</div>
{!!Form::close()!!}
</div>
</div>
@endsection
感謝您的時間!
對不起的人,我不明白它。你能詳細解釋一下嗎? –
哦,在CategoriaFormRequest.php中,你有一個POS \ Http \ Requests的命名空間,用's'記錄請求。但是在你的控制器中,你有'使用POS \ Http \ Request \ CategoriaFormRequest',注意'Request',它沒有's'。所以通過將它改爲'使用POS \ Http \ Requests \ CategoriaFormRequest'可以工作。 – SteD
是的,你是對的!我改變了它,它的工作原理!非常感謝! –