2016-06-07 164 views
1

我在Laravel管理後臺中添加了這種形式,它將新產品添加到數據庫中。如何在Laravel的產品創建頁面中顯示類別

productCreate.blade.php

{{ Form::open(['files' => true]) }} 
<div class="form-group"> 
    <label for="title" class="control-block">Product title:</label> 
    {{ Form::text('title', null, ['class' => 'form-control']) }} 
</div> 

<div class="form-group"> 
    <label for="title" class="control-block">Product description:</label> 
    {{ Form::textarea('description', null, ['class' => 'form-control']) }} 
    <span class="help-block">HTML is allowed.</span> 
</div> 

<div class="form-group"> 
    <label for="title" class="control-block">Product price:</label> 
    {{ Form::text('price', null, ['class' => 'form-control']) }} 
</div> 

<div class="form-group"> 
    <label for="title" class="control-block">Assign Product to Category:</label> 
    <select class="form-control"> 
     <option value="one">Category 1</option> 
     <option value="two">Category 2</option> 
     <option value="three">Category 3</option> 
     <option value="four">Category 4</option> 
     <option value="five">Category 5</option> 
    </select> 
</div> 

<div class="form-group"> 
    <label for="title" class="control-block">Product image:</label> 
    {{ Form::file('image', ['class' => 'form-control']) }} 
</div> 

<hr /> 

<button type="submit" class="btn btn-primary">Create new product</button> 

{{ Form::close() }} 

我的問題是如何顯示從數據庫中選擇這個值/選項。我希望能夠將產品分配給類別。我應該在哪裏查詢以及如何在視圖中添加它們?

在admincontroller我對產品的創作和職能加載視圖

public function productsCreate() { 
    return View::make('site.admin.products_create'); 
} 

我試圖使它像這樣

public function productsCreate() { 
    $categories = Categories::paginate(15); 
     return View::make('site.admin.products_create', [ 
      'categories' => $categories 
     ]); 
    //return View::make('site.admin.products_create'); 
} 

,但後來我得到消息

production.ERROR: exception 'Symfony\Component\Debug\Exception\FatalErrorException' with message 'Cannot redeclare AdminController::productsCreate() ... 

那麼我究竟能夠如何查詢數據庫表類別並在表單中顯示類別?

可能是因爲我已經在管理控制器中有類別選擇?

public function categories() { 
    $categories = Categories::all(); 
    return View::make('site.admin.categories', [ 
     'categories' => $categories 
    ]); 
} 

public function productsCreate() { 
//  $categories = Categories::paginate(15); 

     return View::make('site.admin.products_create', [ 
      'categories' => $categories 
     ]); 
    //return View::make('site.admin.products_create'); 
} 
+0

你的意思是,將產品分類? –

+0

我的意思是我想給這個表單顯示類別。此表單用於添加產品。如何在此表單中顯示類別? –

+0

看看我的回答如下,但分類分類?我建議你展示所有類別 –

回答

2

您通過在productsCreate功能的類別,且必須移除舊的productsCreate功能,你宣佈了兩遍:

public function productsCreate() { 
    $categories = Categories::get(); 
    return View::make('site.admin.products_create', [ 
     'categories' => $categories 
    ]); 
} 

對於HTML:

<div class="form-group"> 
<label for="title" class="control-block">Assign Product to Category:</label> 
<select class="form-control"> 
    @foreach($categories as $categorie) 
    <option value="{{ $categorie->id }}">{{ $categorie->name }}</option> 
    @endforeach 
</select> 

我希望能幫到你。

+0

感謝您的幫助。一切都很好! –

+0

你確定你的**類別表格不是空的嗎? –

+0

這不是我的錯誤,因爲這裏'{{$ categorie-> id}}「> {{$ categorie-> name}}'應該是'{{$ categorie-> category_id}}」> {{$ categorie- > category_name}}'。 –

相關問題