微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Laravel 8:将刀片加载到另一个刀片时未定义的变量

如何解决Laravel 8:将刀片加载到另一个刀片时未定义的变量

情况: 我正在制作一个侧面菜单,该菜单通过从表 (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 未定义

我尝试了什么:

  1. 我检查了它是否可能是其他东西,例如,我用文本替换了“$all_items”,然后它在 auth.blade.PHP 中加载了文本,所以问题似乎是变量 { {1}}

  2. 我检查过

$all_items

会有所作为,但不会。

非常感谢任何建议或想法。

解决方法

你的文件夹结构是什么?在资源文件夹中

,

shaedrich 建议的解决方案应该可以解决您的问题。

@include('items',['all_items'=>$all_items])

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。