2017-02-09 31 views
0

我正在使用laravel 5.3 我有一个可以帮助我创建新项目的窗体。我还可以显示我拥有所有属性的数据库中的所有项目。 现在,我需要显示在响应导航菜单左侧的网页上包含以下内容:如何从数据库中检索数据并将其显示在响应式导航菜单中?

Domaines: 了Domaine 1: 项目1个 项目2 了Domaine 2: 项目中 B项目

我希望一旦我点击项目就有表格显示该项目的所有信息。

这是“index.blade.php”的时候,我只试图无任何公共秩序显示项目:

@extends('layouts.app') 
@section('content') 
    <div class="row"> 
    <div class="col-lg-12 margin-tb"> 
     <div class="pull-left"> 
     <h2>Projects CRUD</h2> 
     </div> 
    <div class="pull-right"> 
     @permission('pro-create') 
     <a class="btn btn-success" href="{{ route('pros.create') }}"> Create New Project</a> 
     @endpermission 
     </div> 
    </div> 
    </div> 
    @if ($message = Session::get('success')) 
     <div class="alert alert-success"> 
      <p>{{ $message }}</p> 
     </div> 
    @endif 
    <table class="table table-bordered"> 
     <tr> 
     <th>No</th> 
     <th>title</th> 
     <th>code</th> 
     <th>domain_id</th> 
     <th width="280px">Action</th> 
     </tr> 
     @foreach ($pros as $key => $pro) 
     <tr> 
      <td>{{ ++$i }}</td> 
      <td>{{ $pro->title }}</td> 
      <td>{{ $pro->code }}</td>   
      <td>{{ $pro->domain_id}}</td> 
      <td> 
      <a class="btn btn-info" href="{{ route('pros.show',$pro->id) }}">Show</a> 
      @permission('pro-edit') 
      <a class="btn btn-primary" href="{{ route('pros.edit',$pro->id) }}">Edit</a> 
      @endpermission 
      @permission('pro-delete') 
      {!! Form::open(['method' => 'DELETE','route' => ['pros.destroy', $pro->id],'style'=>'display:inline']) !!} 
      {!! Form::submit('Delete', ['class' => 'btn btn-danger']) !!} 
      {!! Form::close() !!} 
      @endpermission 
     </td> 
     </tr> 
     @endforeach 
     </table> 
     {!! $pros->render() !!} 
@endsection 

,这就是我试图添加有“响应导航菜单” :

<div class="nav-side-menu"> 
    <div class="brand">Menu</div> 
    <i class="fa fa-bars fa-2x toggle-btn" data-toggle="collapse" data-target="#menu-content"></i> 
    <div class="menu-list"> 
    <ul id="menu-content" class="menu-content collapse out"> 
     <li> 
      <a href="#"> 
      <i class="fa fa-dashboard fa-lg"></i> Dashboard 
      </a> 
     </li> 
     <li data-toggle="collapse" data-target="#domains" class="collapsed active"> 
      <a href="#"><i class="fa fa-gift fa-lg"></i> Domains <span class="arrow"></span></a> 
     </li> 
      <ul class="sub-menu collapse" id="domains"> 
      <li class="active"><a href="#">Domain 1</a></li> 
      <li><a href="#">Domain 2</a></li> 
      <li><a href="#">Domain 3</a></li> 
      <li><a href="#">Domain 4</a></li> 
      <li><a href="#">Domain 5</a></li> 
      </ul> 
      <li data-toggle="collapse" data-target="#responsible" class="collapsed"> 
      <a href="#"><i class="fa fa-globe fa-lg"></i> Responsibles <span class="arrow"></span></a> 
      </li> 
      <ul class="sub-menu collapse" id="responsible"> 
       <li>Mr.name1</li> 
       <li>Mr.name2</li> 
       <li>Mr.name3</li> 
      </ul> 
    </div> 
</div> 

我的问题是如何建立我的数据库和视图之间的关系?我如何从数据库(项目表)中检索数据并将其显示在视图中?

+0

我的不好,但后来更容易。只需在控制器中进行一些雄辩的查询并将数据传递给视图即可。 –

+0

@Thomas你能给我举个例子怎么做吗? – Naj

回答

1

你为你的表“示例”

型号

class Example extends Model { 
    protected $table = 'Example'; 
    protected $fillable = ['column1', 'column2']; 
    protected $primaryKey = 'id'; 
} 

不要忘记指定/config/database.php

您的连接现在你有你的模型,你可以创建创建模型一个控制器,我会建议一个resource controller

使用App \ Model \ Example; 类ExampleController扩展控制器{

/** 
* Display a listing of the resource. 
* 
* @return Response 
*/ 
public function index() 
{ 
    // This is the one we need, because it will be shown on GET domain.com/example 

$examples = Example::query()->get(); 
return view('exampleview', ['passed_data' => $examples]); 
} 

/** 
* Show the form for creating a new resource. 
* 
* @return Response 
*/ 
public function create() 
{ 
    // 
} 

/** 
* Store a newly created resource in storage. 
* 
* @return Response 
*/ 
public function store() 
{ 
    // 
} 

/** 
* Display the specified resource. 
* 
* @param int $id 
* @return Response 
*/ 
public function show($id) 
{ 
    // 
} 

/** 
* Show the form for editing the specified resource. 
* 
* @param int $id 
* @return Response 
*/ 
public function edit($id) 
{ 
    // 
} 

/** 
* Update the specified resource in storage. 
* 
* @param int $id 
* @return Response 
*/ 
public function update($id) 
{ 
    // 
} 

/** 
* Remove the specified resource from storage. 
* 
* @param int $id 
* @return Response 
*/ 
public function destroy($id) 
{ 
    // 
} 

}

定义您的路线。因为要显示前端,请选择routes/web.php并定义

Route :: resource('example','ExampleController');

现在你也必须让你刀片resources\viewsexampleview.blade.php下(如在控制器中定义)

那里,你可以使用刀片语法传递的数据: exampleview.blade。PHP @foreach($ passed_data为single_example $) {{$例子}} @endforeach

要根据你的,你应该定义一个

@stack('menustack') inside your menu blade 

认为你的菜单变化从“较低”刀片推新元素与

@push('menustack') 
<div> new menu div </div> 
@endpush 
0

您需要创建应用程序nav.php/HTTP目录,如:

应用程序/ HTTP/nav.php

<?php 
    //pass your view file path like *index* 

    View::composer('index', function($view){ 
    //For navigation menu items... 
    $navigation = DB::table('navigation') 
      ->select('Domain1', 'Domain2', 'Domain3', 'Domain4', 'Domain5') 
      ->get(); 

    return $view->with('navigations' => $navigations);   
    }); 

?> 

定义nav.php路线路线/网络,如:

// For navigation menu route 
**require 'nav.php';** 

希望这对你的作品!

相关问题