【发布时间】:2017-12-11 13:56:25
【问题描述】:
我试图从数据库中创建一个删除类别选项,以便管理员能够从选择选项中选择产品类别。但是在我从 DashboardController 中的数据库中选择并尝试将其包含在表单中的选择选项中后,表单页面中出现了错误。
这是显示的错误:
73cd6543c61fa0a342e4d528a9bc24bd5c4c4cbe.php 第 29 行中的错误异常: 未定义变量:stockcategory(查看:C:\wamp\www\pump\core\resources\views\dashboard\stock-create.blade.php)
这里是 stock-create.blade.php
@extends('layouts.dashboard')
@section('title', 'Stock Create')
@section('content')
<div class="row">
<div class="col-md-12">
<div class="portlet light bordered">
<div class="portlet-body form">
{!! Form::open(['method'=>'post','class'=>'form-horizontal']) !!}
<div class="form-body">
<div class="form-group">
<label class="col-sm-3 control-label">Product Name : </label>
<div class="col-sm-6">
<input name="name" value="" class="form-control input-lg" type="text" required placeholder="Product Name">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">Product Category : </label>
<div class="col-sm-6">
<select name="product_id" id="" class="form-control input-lg" required>
<option value="">Select One</option>
@foreach($stockcategory as $c)
<option value="{{ $c->id }}">{{ $c->category }}</option>
@endforeach
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">Product Quantity : </label>
<div class="col-sm-6">
<input type="number" class="form-control" name="product-quantity" placeholder="Product Quantity"> </div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">Buying Price : </label>
<div class="col-sm-6">
<input type="number" class="form-control" name="buying-price" placeholder="Buying Price"></div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">Selling Price : </label>
<div class="col-sm-6">
<input type="number" class="form-control" name="saleing-price" placeholder="Selling Price">
</div>
</div>
<div class="form-group">
<div class="row">
<div class="col-md-offset-3 col-md-6">
<button type="submit" class="btn blue btn-block margin-top-10"><i class="fa fa-paper-plane"></i> Add</button>
</div>
</div>
</div>
</div>
{!! Form::close() !!}
</div>
</div>
</div>
</div><!---ROW-->
@endsection
DashboardController.php
//Stocks Category
public function createStockCategory()
{
$data['site_title'] = $this->site_title;
$data['page_title'] = "Create Stock Category";
return view('dashboard.stockcategory-create',$data);
}
public function storeStockCategory(Request $request)
{
$this->validate($request,[
'category' => 'required|unique:stock_category,category',
]);
try {
$stockcategory = Input::except('_method','_token');
StockCategory::create($stockcategory);
session()->flash('message', 'Stock Category Created Successfully. ');
Session::flash('type', 'success');
return redirect()->back();
} catch (\PDOException $e) {
session()->flash('message', 'Some Problem Occurs, Please Try Again!');
Session::flash('type', 'danger');
return redirect()->back();
}
}
public function showStockCategory()
{
$data['site_title'] = $this->site_title;
$data['page_title'] = "All Stock Category";
$data['stockcategory'] = StockCategory::orderBy('id','ASC')->paginate(100);
return view('dashboard.stockcategory-show',$data);
}
public function editStockCategory($id)
{
$data['stockcategory'] = StockCategory::findOrFail($id);
$data['site_title'] = $this->site_title;
$data['page_title'] = 'Edit Stock Category';
//$data['stock'] = Stock::all();
$date = StockCategory::find($id);
return view('dashboard.stockcategory-edit',$data);
}
public function updateStockCategory(Request $request,$id)
{
$stockscategory = StockCategory::findOrFail($id);
$this->validate($request,[
'category' => 'required|unique:stock_category,category,'.$stockscategory->id,
]);
try {
$stockcategory = Input::except('_method','_token');
$stockscategory->fill($stockcategory)->save();
session()->flash('message', 'Stock category Updated Successfully.');
Session::flash('type', 'success');
return redirect()->back();
} catch (\PDOException $e) {
session()->flash('message', 'Some Problem Occurs, Please Try Again!');
Session::flash('type', 'danger');
return redirect()->back();
}
}
public function deleteStockCategory(Request $request)
{
try {
if ($request->input('id') === '') {
session()->flash('message', 'Oops, bad request!');
Session::flash('type', 'danger');
return redirect()->back();
}else{
$stockcategory = StockCategory::findOrFail($request->input('id'));
$stockcategory->delete();
session()->flash('message', 'Stock Category Deleted Successfully.');
Session::flash('type', 'success');
return redirect()->back();
}
} catch (\PDOException $e) {
session()->flash('message', 'Some Problem Occurs, Please Try Again!');
Session::flash('type', 'danger');
return redirect()->back();
}
}
Routes.php
/* Stock Category Route List */
Route::get('stockcategory-create',['as'=>'stockcategory-create','uses'=>'DashboardController@createStockCategory']);
Route::post('stockcategory-create',['as'=>'stockcategory-store','uses'=>'DashboardController@storeStockCategory']);
Route::get('stockcategory-show',['as'=>'stockcategory-show','uses'=>'DashboardController@showStockCategory']);
Route::get('stockcategory-edit/{id}',['as'=>'stockcategory-edit','uses'=>'DashboardController@editStockCategory']);
Route::put('stockcategory-edit/{id}',['as'=>'stockcategory-update','uses'=>'DashboardController@updateStockCategory']);
Route::delete('stockcategory-delete',['as'=>'stockcategory-delete','uses'=>'DashboardController@deleteStockCategory']);
我到底做错了什么?
【问题讨论】:
-
您在视图中使用
$stockcategory,但您需要先从控制器以createStockCategory()的方法发送它!喜欢:return view('dashboard.stockcategory-create', ['stockcategory' => $data]); -
@HirenGohel,你能指出我正确的方向吗?请。
-
尝试:
return view('dashboard.stockcategory-create', ['stockcategory' => $data]);参考:laravel.com/docs/5.5/views#passing-data-to-views
标签: laravel