我有一個函式,它回傳具有多個變數的視圖。代碼是
家庭控制器.php
public function profilePage(){
$data = User::all();
$book = Library::all();
return view('page.profile' , compact(array('data', 'book')));
}
profile.blade.php
@include('layouts.sidebar')
.
.
.
@foreach($book as $Library)
<tr>
<td>{{$Library->book}}</td>
<td>{{$Library->name}}</td>
<td>{{$Library->author}}</td>
<td>{{$Library->price}}</td>
</tr>
@endforeach
sidebar.blade.php
<div class="info">
<a href="{{ url ('profile' , $data -> first())}}" hljs-string">">{{Auth::user() -> name }}</a>
</div>
當我嘗試重繪 瀏覽器以查看更改時。它會顯示錯誤“未定義的變數 $book”
照亮\ Foundation\ Bootstrap \ HandleExceptions:176句柄錯誤
在線的
addLoop($currentLoopData); foreach($currentLoopData as $Library): $env->incrementLoopIndices(); $loop = $env->getLastLoop(); ?>
在我添加模塊以從庫中檢索資料之前,代碼作業正常。那么這是將多個變數傳遞到視圖中的正確方法嗎?
uj5u.com熱心網友回復:
嘗試改用它,并確保您正在加載正確的刀片檔案,在您的情況下,它profile.blade.php位于頁面檔案夾中。
public function profilePage(){
$data = User::all();
$book = Library::all();
return view('page.profile', [
'data' => $data,
'book' => $book,
]);
}
uj5u.com熱心網友回復:
將資料傳遞給視圖有 4 種方式:
1 -
return view('page.profile' , ['book' => $book, 'data' => $data]);
2 -
return view('page.profile' , compact('book', 'data'));
3 -
return view('page.profile')
->with('data' => $data)
->with('book' => $book);
4 - 不推薦
return view('page.profile' , get_defined_vars());
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/521865.html
標籤:php拉拉维尔
