witam
mam mały projekcik własnego CRUD plus system autoryzacji. Tabela z różnymi produktami. Chciałem do tego dopisać wyszukiwanie (search).
Niestety po dopisaniu Laravel wywala mi ciągle błąd > InvalidArgumentException
View [index] not found. >
Podejrzewam że jest jakiś bład w kontrolerze.
Mój kontroler: ProductsController.php
linijka **** public function search(Request $request)**** dopisane wyszukiwanie nie mam pojecia czy to jest poprawnie?? Nazwy tabeli i kolum raczej tak.
<?php
namespace App\Http\Controllers;
use App\Product;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
class ProductController extends Controller
{
public function __construct() {
$this->middleware('auth')->except(['index', 'show']);
}
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
$products = Product::latest()->paginate(10);
return view('products.index',compact('products'))
->with('i', (request()->input('page', 1) - 1) * 10);
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
return view('products.create');
}
public function search(Request $request)
{
$search = $request->get('search');
$posts = DB::table('products')->where('name', 'like', '%' .$search. '%' )->paginate(10);
return view('index', ['products' => $posts]);
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
$request->validate([
'name' => 'required',
'detail' => 'required',
'armor' => 'required',
'gun' => 'required',
'engine' => 'required',
]);
Product::create($request->all());
return redirect()->route('products.index')
->with('success','Product created successfully.');
}
/**
* Display the specified resource.
*
* @param \App\Product $product
* @return \Illuminate\Http\Response
*/
public function show(Product $product)
{
return view('products.show',compact('product'));
}
/**
* Show the form for editing the specified resource.
*
* @param \App\Product $product
* @return \Illuminate\Http\Response
*/
public function edit(Product $product)
{
return view('products.edit',compact('product'));
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param \App\Product $product
* @return \Illuminate\Http\Response
*/
public function update(Request $request, Product $product)
{
$request->validate([
'name' => 'required',
'detail' => 'required',
'armor' => 'required',
'gun' => 'required',
'engine' => 'required',
]);
$product->update($request->all());
return redirect()->route('products.index')
->with('success','Pozycja zaktualizowana');
}
/**
* Remove the specified resource from storage.
*
* @param \App\Product $product
* @return \Illuminate\Http\Response
*/
public function destroy(Product $product)
{
$product->delete();
return redirect()->route('products.index')
->with('success','Pozycja usunięta');
}
}
Routing web.php
Route::get('/', function () {
return view('welcome');
});
Route::resource('products','ProductController');
Auth::routes();
Route::get('/search', 'ProductController@search');
Route::get('/home', 'HomeController@index')->name('home');
Wie ktos jak to naprawić lub napisac troche inaczej ? Wyszukiwanie w kolumnie name.