В попытке запрограммировать панель поиска, я создал метод GET и добавил новый контроллер, где он получает соответствующие данные и возвращает их с представлением.
//This is the form in the view named "index.blade.php"
{!! Form::open(['action' => 'SearchesController@search', 'method' => 'GET']) !!}
<form class="form-inline md-form mr-auto mb-4">
{{Form::text('search', '', ['class'=>'form-control', 'placeholder'=>'Search Anything'])}}
<button class="btn aqua-gradient btn-rounded btn-sm my-0" type="submit">Search</button>
</form>
{!! Form::close() !!}
//---------------------------------------------------------
//This is in the "web.php"
Route::get('/posts/search', 'SearchesController@search');
//---------------------------------------------------------
//The following code is the controller named "SearchesController.php"
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Storage;
use App\Post;
use DB;
use Illuminate\Support\Facades\Auth;
class SearchesController extends Controller
{
public function search(Request $request)
{
$this->validate($request, [
'search' => 'required',
]);
$search = metaphone($request->input('search'));
$posts = Post::where('sounds_like','LIKE',"%{$search}%")
->orderBy('title', 'desc')
->paginate(10)
->get();
return view('posts.index')->with('posts',$posts);
}
}
Я ожидал выводапредставление со всеми данными, возвращенными при просмотре, но вместо этого получило сообщение error :
"Слишком мало аргументов для функции Illuminate \ Support \ Collection :: get (), 0передано в /Applications/AMPPS/www/lsapp/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php в строке 23 и как минимум 1 ожидаемое "