第一个Laravel项目。
我在上层“主”层中创建了一个$.ajax({
type: 'POST',
url: href,
data: {csrfmiddlewaretoken: $('input[name=csrfmiddlewaretoken]').val(),},
success: function (response) {
// replace the inside of #wrapper div with the injection.html (that has the new items values)
$("#wrapper").replaceWith(response);
}
});
语句,但是当我想从下层访问它时,我得到“变量未定义的消息。
主层:
DB::select
其他层:
<!DOCTYPE HTML>
<html class="html">
<head>
<?php $options=DB::select('select * from options'); ?>
<title>@yield('title')</title>
<link href="{{ asset('/css/style.css') }}" rel="stylesheet">
<link href="media/favicon.ico" rel="icon" type="image/x-icon" />
<link href="//netdna.bootstrapcdn.com/bootstrap/3.1.0/css/bootstrap.min.css" rel="stylesheet">
<script src="//netdna.bootstrapcdn.com/bootstrap/3.1.0/js/bootstrap.min.js"></script>
</head>
.
.
.
输出:
a9ef8ce5f32a327198559f3667e4271b90435dc6.php第5行中的ErrorException: 未定义的变量:选项(查看: /var/www/html/project/laravel/leltar/resources/views/inventory.blade.php)
我错了什么?
答案 0 :(得分:3)
看起来您想在任何给定视图上访问$ options变量。您可以通过在所有视图中共享它来实现这一目标。
将以下代码添加到 App \ Providers \ AppServiceProvider boot()
函数
View::share('options', DB::select('select * from options'));
别忘了导入
use Illuminate\Support\Facades\DB;
在顶部。