Неопределенный вид в клинке для Laravel - PullRequest
0 голосов
/ 15 февраля 2019

У меня возникла проблема с неопределенной переменной в виде блейда для моего проекта Laravel.

Мне кажется, я все правильно определил

Это строка в виде блейда, котораявызывает мою проблему.

<a href="{{action('RollController@paid', $record->id)}}" title="Paid" class="btn btn-success"><i class="material-icons">done</i></a>

Он жалуется на переменную записи

Это открытая функция в RollController

public function paid($id)
{

    $record = Roll::find($id);

    if ($record!= null)
 {
     $record->status = 'C';
     $record->save();

     return redirect(action('RollController@index'))->with ('success', 'Member Paid');
 }

 return redirect(action('RollController@index'));

}

Это веб-маршрутизация

Route::get('/roll/paid/{id}', 'RollController@paid')->middleware('auth');

Любая помощь будет отличной, спасибо

Ответы [ 2 ]

0 голосов
/ 15 февраля 2019

Ошибка в том, что вы пытаетесь получить доступ к переменной, т. Е. $record->id в вашем представлении, которое не существует, посмотрите на это:

return redirect(action('RollController@index'))->with ('success', 'Member Paid');
return redirect(action('RollController@index'));

в обоих случаях вы не передаете переменнуюэто содержит значение в нем.Попробуйте это:

return redirect(action('RollController@index'))->with('record', $record);

, а также измените тег привязки с:

href="{{action('RollController@paid', $record->id)}}"

на

href="{{route('paid',['id' => $record->id])}}" 
0 голосов
/ 15 февраля 2019

href не должен иметь имя контроллера и / или метод.Вы помещаете маршрут в атрибут href.Так что измените

href="{{action('RollController@paid', $record->id)}}"

на

href="{{route('paid',['id' => $record->id])}}" 

Также измените ваш web.php.

Route::get('/roll/paid/{id}', 'RollController@paid')->middleware('auth')->name('paid');

То, что я сделал, я добавил имя к маршруту в web.php, добавив name('paid').Вы можете добавить любое имя, которое вы хотите.Затем я использовал этот именованный маршрут в атрибуте href.

...