如何使用数据库在 Laravel 中创建动态菜单栏
Posted
技术标签:
【中文标题】如何使用数据库在 Laravel 中创建动态菜单栏【英文标题】:How to Create Dynamic Menu bar in Laravel using Database 【发布时间】:2018-09-30 07:10:09 【问题描述】:最初,我创建了静态导航栏,但现在我想将导航栏改进为动态。
我在那里尝试了控制器内部的功能,但它没有成功,因为该视图只管理一个路由。我需要在我的网页的每个页面中查看该视图。
SideMenuController.php:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\admins;
use DB;
class SideMenuController extends Controller
public function index()
$details = DB::SELECT("SELECT Name FROM admins");
return view('layout', compact('details'));
web.php:
Route::get('/user/test','SideMenuController@index');
test.blade.php:
命令 @foreach($details as $value) $value->名称 @endforeach错误异常
(3/3) ErrorException 未定义变量:详细信息(查看: C:\xampp\htdocs\ERP\ERP_LAR\resources\views\test.blade.php)(查看: C:\xampp\htdocs\ERP\ERP_LAR\resources\views\test.blade.php)
【问题讨论】:
SideMenuController.php 请将您的代码编辑到您的问题中,而不是将其作为评论发布。 test.blade.php 中的 $details 包含什么。你能把这个打印出来贴在这里吗? $details 是从 SideMenuController 传递的变量,否则是 SQL 查询的结果 【参考方案1】:有很多方法可以解决这个问题。
-
您可以在您的项目中创建一个单独的 php 文件,例如“navbar.php”,并通过
<?php include('navbar.php'); ?>
将其包含在内
您也可以使用类,但它更难。
【讨论】:
如何从数据库中获取数据以及如何在没有路由的情况下传递视图 这真的是评论,而不是答案。多一点代表,you will be able to post comments.【参考方案2】:首先看一下 Laravel 中的 blade 引擎。
这个想法是您将在控制器中创建一个值并将其传递给视图。在这里,您将提取值并将正确的值放置在正确的位置。使用刀片,您甚至可以创建一个单独的 navigation.php 并在您需要的每个视图中生成它们。
【讨论】:
如何从数据库中获取数据以及如何在没有路由的情况下传递视图 您在控制器中获取数据并将其传递给视图。所有信息都可以在 laravel [网站][laravel.com/docs/5.6].在这里您还可以找到如何使用模型和数据库。以上是关于如何使用数据库在 Laravel 中创建动态菜单栏的主要内容,如果未能解决你的问题,请参考以下文章