Laravel:从上层视图访问PHP

时间:2017-03-22 08:33:39

标签: php laravel laravel-5 laravel-5.3

第一个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)

我错了什么?

1 个答案:

答案 0 :(得分:3)

看起来您想在任何给定视图上访问$ options变量。您可以通过在所有视图中共享它来实现这一目标。

将以下代码添加到 App \ Providers \ AppServiceProvider boot()函数

View::share('options', DB::select('select * from options'));

别忘了导入

use Illuminate\Support\Facades\DB;

在顶部。