如何使用数据库在Laravel中创建动态菜单栏

时间:2018-04-19 17:26:14

标签: php database laravel controller middleware

最初,我创建了静态导航栏,但现在我想以动态方式改进导航栏。

在控制器内部使用im try功能,但它没有成功,因为该视图只管理一个route.i需要在我的网页的每个页面中查看该视图。

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)
    
                <li><a href="#"><i class="fa fa-circle-o"></i>{{ $value->Name }} 
                </a></li>
             @endforeach 
    
            </ul>
          </li>
    

    错误异常 (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)

  • 2 个答案:

    答案 0 :(得分:0)

    首先来看看Laravel中的blade引擎

    这个想法是你将在控制器中创建一个值并将其传递给视图。在这里,您将提取值并将正确的值放在正确的位置。使用刀片,您甚至可以创建一个单独的navigation.php,并在您需要的每个视图中生成它们。

    答案 1 :(得分:-3)

    有很多方法可以解决这个问题。

    1. 您可以在项目中创建一个单独的php文件,例如“navbar.php”并将其包含在<?php include('navbar.php'); ?>
    2. 你也可以使用课程但是更难。