컨트롤러 Laravel에서 변수를 전달할 때 블레이드의 변수가 정의되지 않았습니다.
P粉056618053
2023-08-31 15:58:04
<p>그래서 <code>model</code> 및 <code>controller</code>에서 일부 문자열을 반환하고 싶지만 dd를 사용하면 항상 정의되지 않은 변수가 표시됩니다. ($ a)</code> 및 <code>dd($b)</code>를 성공적으로 통과했습니다. 내가 뭘 잘못했나요? </p>
<p><code>about.blade:</code></p>
<pre class="brush:php;toolbar:false;">@extends('layout.template');
@section('homeContainer');
<p> {{ $a }} </p>
<br>
<p>{{ $b }}</p>
@endsection</pre>
<p><code>컨트롤러 정보:</code></p>
<pre class="brush:php;toolbar:false;"><?php
네임스페이스 AppHttpControllers;
IlluminateHttpRequest를 사용하세요.
AppModelsAboutModel을 사용하세요.
클래스 AboutController는 Controller를 확장합니다.
{
//
공개 정적 함수 정보(){
$a = AboutModel::정보();
$b = "이 데이터는 컨트롤러에서 온 것입니다.";;
return view('정보', Compact('a', 'b'));
}
}</pre>
<p><code>모델 정보:</code></p>
<pre class="brush:php;toolbar:false;"><?php
네임스페이스 AppModel;
IlluminateDatabaseEloquentFactoriesHasFactory를 사용하세요.
IlluminateDatabaseEloquentModel을 사용하세요.
클래스 AboutModel은 모델을 확장합니다.
{
HasFactory를 사용하세요.
공개 정적 함수 Info(){
$a = "이 값은 모델에서 가져온 값입니다.";;
$a를 반환합니다;
}
}</pre>
<p><code>방향: </code></p>
<pre class="brush:php;toolbar:false;"><?php
IlluminateSupportFacadesRoute를 사용하세요.
AppHttpControllersAboutController를 사용하세요.
/*
|------------------------------------------------- -------------
웹 경로
|------------------------------------------------- -------------
|
| 여기에서 애플리케이션에 대한 웹 경로를 등록할 수 있습니다.
| 경로는 RouteServiceProvider에 의해 로드되며 모든 경로는
| "웹" 미들웨어 그룹에 배정됩니다.
|
*/
경로::get('/', 함수 () {
return view('환영합니다');
});
Route::get('/about', function () {
return view('정보', [
"이름" =>AboutController::info(),
]);
});</pre></p>
컨트롤러는 실행되지 않으며 web.php 파일의 콜백만 실행됩니다. 이는 a 및 b 변수가 없고 이름 변수만 있다는 의미입니다
답장을 보내주셔서 감사합니다! 알고 보니 모델을 변수와 경로로 잘못 선언했습니다.
경로를
로 변경했습니다. 으아악컨트롤러와 모델의 경우 정적을 제거하고 모델 선언을 변경합니다
으아악控制器:
으아악型号: