Я пытаюсь передать некоторые данные из моего представления в мой контроллер, чтобы отобразить данные, используя выбранный месяц, я не уверен, что номера месяцев или выполняемый мной запрос Eloquent верны,
вот что я получил до сих пор.
Мои маршруты:
Route::get('dcmlog/monthly','LogController@monthly');
Route::resource('dcmlog', 'LogController');
контроллер:
public function monthly($id)
{
$dcmlogs = log::with('users')
->whereMonth('created_at', '=', $id))
->paginate(15);
return view('dcmlog.index', compact('dcmlogs'));
}
Мой индексный просмотр:
<h>Display a logs by month <h>
<a href="{{action('LogController@monthly'),$post['id'] }}">
{{ $id=Form::selectMonth('month')}}</a>
Я получаю следующую ошибку при запуске страницы
Отсутствуют обязательные параметры для [Route:] [URI: dcmlog / month / {id}].
Отсутствует Я бы параметр в маршруте:
Route::get('dcmlog/monthly','LogController@monthly');
должно быть
Route::get('dcmlog/monthly/{id}','LogController@monthly');
и синтаксис действия имеет ошибку:
<a href="{{action('LogController@monthly'),$post['id'] }}">
должно быть
<a href="{{action('LogController@monthly', $post['id']) }}">
Добавьте параметр ID к вашему маршруту, как это
Route::get('dcmlog/monthly/{id}','LogController@monthly');
После этого вы можете получить доступ к значению id в вашем контроллере.
Вы можете увидеть документы здесь https://laravel.com/docs/5.6/routing#required-parameters
Добавьте роутер: Route::get('dcmlog/monthly/{id}','LogController@monthly')->name('blah');
Проходить id
var как параметр в поле зрения <a href="{{action('LogController@monthly'),$post['id'] }}">
или же {{route('blash',['id'=>$post['id']])}}
Вы не можете добавить id
в вашем маршруте. Просто добавьте это, и вы исправили!
Видеть это документы для получения дополнительной информации!
Добавьте это как:
Route::get('dcmlog/monthly/{id}','LogController@monthly');