찾다

 >  Q&A  >  본문

컨트롤러 Laravel에서 변수를 전달할 때 블레이드의 변수가 정의되지 않았습니다.

<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>
P粉056618053P粉056618053457일 전468

모든 응답(2)나는 대답할 것이다

  • P粉111641966

    P粉1116419662023-09-01 14:48:55

    컨트롤러는 실행되지 않으며 web.php 파일의 콜백만 실행됩니다. 이는 a 및 b 변수가 없고 이름 변수만 있다는 의미입니다

    회신하다
    0
  • P粉194919082

    P粉1949190822023-09-01 11:02:49

    답장을 보내주셔서 감사합니다! 알고 보니 모델을 변수와 경로로 잘못 선언했습니다.

    경로를

    로 변경했습니다. 으아악

    컨트롤러와 모델의 경우 정적을 제거하고 모델 선언을 변경합니다

    控制器:

    으아악

    型号:

    으아악

    회신하다
    0
  • 취소회신하다