问题描述
情况:
我正在制作一个侧面菜单,该菜单通过从表 (MysqL) 中获取数据来填充。
每个 <li>
代表菜单的一项:
<li>item 1</li>
<li>item 2</li>
<li>item 3</li>
等等...
问题:
当我看到它的刀片时一切正常,但是当我将它包含在主刀片中时,它会抛出包含数据的变量 $all_items
使 <li>
无法识别 (Error: "variable not found error")
>
代码:
web.PHP
Auth::routes();
Route::get('/home','HomeController@index')->name('home');
Route::get('items','MenuCmpItemsController@show');
MenuCmpItemsController.PHP
<?PHP
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\MenuCmpItems;
use DB;
class MenuCmpItemsController extends Controller
{
public function show(){
$all_items = DB::table('tbClassrooms')->select("room_number")->get();
return view('items',['all_items'=>$all_items]);
}
}
items.blade.PHP(访问 URL '/items' 时工作正常)
@foreach ($all_items as $item)
<li>{{ $item->cmp_name }}</li>
@endforeach
现在我想在 auth.blade.PHP 中包含 items.blade.PHP,它是包含以下侧边菜单结构的:
<div class="collapse show" id="sidemenu">
<ul class="nav">
@include('items')
</ul>
</div>
但它抛出
$all_items 未定义
我尝试了什么:
-
我检查了它是否可能是其他东西,例如,我用文本替换了“$all_items”,然后它在 auth.blade.PHP 中加载了文本,所以问题似乎是变量 { {1}}
-
我检查过
$all_items
会有所作为,但不会。
非常感谢任何建议或想法。
解决方法
你的文件夹结构是什么?在资源文件夹中
,shaedrich 建议的解决方案应该可以解决您的问题。
@include('items',['all_items'=>$all_items])