2017-02-09 61 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';** 

希望這對你的作品!

相關問題