Laravel 中的 CRUD 错误
CRUD error in Laravel
大家好,我在 Laravel 项目中创建了一个 CRUD(仅创建和读取),创建工作正常,我在 show 函数中传递了 "loan",但在视图中显示未定义变量:
我在控制器中的显示功能:
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');
});
这里是我在视图中调用变量 loan 的地方:
@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
The ERROR
使用这个:
return view('finance.loans',compact(['loan']));
你的return应该是这样的:
return view('finance/loans')->with(['loan'=>$loan]);
而不是
return view('finance/loans')->with('loan',$loan);
你拼错了路线!
您的请求未到达控制器方法
Route::get('finance/loans', function () {
return view('loans');
});
应该是这样
Route::get('finance/loans/{$id}','loanController@show');
或者应该使用控制器资源路由
Route::resource('loans','loanController');
url 'loans/show/{$loan_id}'
<a href="route('loans.show',[$id])">Show Loan</a>
我认为您需要 route::resource('finance/loans') 而不是 ('loans')。
肯定会工作
大家好,我在 Laravel 项目中创建了一个 CRUD(仅创建和读取),创建工作正常,我在 show 函数中传递了 "loan",但在视图中显示未定义变量:
我在控制器中的显示功能:
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');
});
这里是我在视图中调用变量 loan 的地方:
@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
The ERROR
使用这个:
return view('finance.loans',compact(['loan']));
你的return应该是这样的:
return view('finance/loans')->with(['loan'=>$loan]);
而不是
return view('finance/loans')->with('loan',$loan);
你拼错了路线! 您的请求未到达控制器方法
Route::get('finance/loans', function () {
return view('loans');
});
应该是这样
Route::get('finance/loans/{$id}','loanController@show');
或者应该使用控制器资源路由
Route::resource('loans','loanController');
url 'loans/show/{$loan_id}'
<a href="route('loans.show',[$id])">Show Loan</a>
我认为您需要 route::resource('finance/loans') 而不是 ('loans')。 肯定会工作