Ошибка CRUD в Laravel

Привет, ребята, я сделал CRUD (просто создаю и прочитал) в проекте Laravel, создание работает хорошо, и я передал «заем» в функцию show, но в представлении он говорит неопределенную переменную:

моя функция показа в контроллере:

public function show($id)
{
$loan=loan::find($id);

return view('finance/loans')->with('loan',$loan);
}

Мои маршруты:

Auth::routes();
Route::get('/loans', 'LoanController@viewLoanForm');
Route::post('/loans', 'LoanController@store');

Route::get('/home', 'HomeController@index')->name('home');

Route::resource('loan','loanController');
Route::get('finance/loans', function () {
return view('loans');
});

И вот где я называю переменную займа в представлении:

@extends('layouts.app')

@section('content')
<link href="{{ asset('css/loans.css') }}" rel="stylesheet"><html>

<div class="container">
...

</div>
</div>
</div>

<div class="row">
<h1>{{$loan->nume}}</h1>//"nume"is the row from db i want to show

</div></div>

</html>
@endsection

Ошибка

1

Решение

Я думаю, что вам нужно на маршруте :: ресурс («финансы / кредиты») вместо («кредиты»).
И будет работать наверняка

0

Другие решения

Вы неправильно написали маршрут!
Ваш запрос не достигает метода контроллера

Route::get('finance/loans', function () {
return view('loans');
});

должно быть так

Route::get('finance/loans/{$id}','loanController@show');

или следует использовать маршрут ресурса контроллера

Route::resource('loans','loanController');

URL-адрес «ссуды / шоу / {$ loan_id}»

<a href="route('loans.show',[$id])">Show Loan</a>

3

Ваше возвращение должно быть таким:

return view('finance/loans')->with(['loan'=>$loan]);

вместо

return view('finance/loans')->with('loan',$loan);
1

Использовать этот :

return view('finance.loans',compact(['loan']));
0
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector