Laravel: 从上视图访问 PHP

Laravel: Accessing PHP from upper view

第一个 Laravel 项目。 我在上 "master" 层做了一个 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>
.
.
.

其他图层:

@extends('layouts.master')
@section('title', 'Inventory')
@section('main')
@parent
<?php 
$thumbnails=$options[0]->thumbnails; 
?>
.
.
.

输出:

ErrorException in a9ef8ce5f32a327198559f3667e4271b90435dc6.php line 5: Undefined variable: options (View: /var/www/html/project/laravel/leltar/resources/views/inventory.blade.php)

我做错了什么?

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

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

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

别忘了导入

use Illuminate\Support\Facades\DB;

在上面。