i can't get variable seat in form action at {!! Form::open(['action' => ['SeatController#book', $seat->id] , 'method' => 'POST'])!!} to working. here is my code:
blade.php:
#extends('layouts.app')
#section('content')
<br><br><br>
<h3>From {{$bus->departdest}} to {{$bus->arrivedest}}</h3>
<div> Date : {{$bus->date}}</div>
<div> Boarding Time : {{$bus->depart}}</div>
<div> Arrival Time : {{$bus->arrival}}</div>
<div> Plate Number : {{$bus->platenum}}</div>
<hr>
<img src="/images/seat.jpg" height="175.5px" width="521.5px" >
<hr>
<div> <h3>Available Seats : {{$bus->available}} </h3></div>
#if ($bus->available>0)
{!! Form::open(['action' => ['SeatController#book', $seat->id] , 'method' => 'POST'])!!}
#csrf
<div class="form-group row">
<label for="num" class="col-sm-4 col-form-label text-md-right">{{ __('Choose seat') }}</label>
<div class="col-md-12">
<select class="form-control{{ $errors->has('num') ? ' is-invalid' : '' }}" name="num">
#foreach($seats as $seat)
#if ($seat->bus_id == $bus->id && $seat->status == 0)
<option value="{{ $seat->id }}">{{ $seat->num }}</option>
#endif
#endforeach
</select>
#if ($errors->has('num'))
<span class="invalid-feedback" role="alert">
<strong>{{ $errors->first('num') }}</strong>
</span>
#endif
</div>
</div>
<br>
{{Form::hidden('_method','POST')}}
{{Form::submit('Confirm', ['class' => 'btn btn-primary'])}}
Cancel
{!! Form::close() !!}
#else
<div> No available ticket </div>
Cancel
#endif
#endsection
BusController.php:
public function show($id){
$bus = Bus::find($id);
$user = Auth::user();
$seats = Seat::all();
return view('showseat')->with(compact('bus', 'user', 'seats'));
}
You might need to book a seat on the Bus? So here:
['SeatController#book', $seat->id]
Should be:
['SeatController#book', $bus->id]
You cannot use $seat there as you are passing $seats to the view, and you iterate to show the seat number in a select element.
Then in your book function you can still get the seat number using
$request->num // or request('num')
As num is the name attribute of your select field for the seat number.
Related
I'm trying to populate data into input values from mysql database so that I can see and change the data.
I have a form named form.blade.php which will be included in both create.blade.php and edit.blade.php.
What I need is to know is how to retrive data from database to populate data to those inputs when I click on edit.Then when I click on Add button in index.blade.php ,I'll be redirected to create.blade.php and then inputs must be empty.
I tried to add some code functions to every input value
{{old('title',$page->title}} then {{ isset($page) ? page->title: ''}}
but its not working
I'm using one form to perform create and update actions
This is the edit.blade.php
#extends('layouts.master')
#section('content')
<div class="card">
<div class="card-header card-header-success">
<h4 class="card-title ">Pages Data Table</h4>
<p class="card-category"> Here you can update Page data</p>
</div>
<div class="card-body">
{!! Form::open(['action' => 'PagesController#store', 'method' => 'POST' ]) !!}
#csrf
#method('PUT')
#include('pages.includes.form')
{!! Form::close() !!}
</div>
</div>
#endsection
and this is the child form form.blade.php
<div class="form-group">
{{Form::label('title', 'Title')}}
{{ Form::text('title', '',['class' => 'form-control', 'placeholder' => 'Title']) }}
</div>
<div class="form-group">
{{Form::label('content', 'Content')}}
<br>
{{ Form::textarea('content', '',['class' =>'form-control', 'placeholder'=> 'Content']) }}
</div>
<div class="form-group">
<div class="form-check form-check-radio">
<label class="form-check-label">
{{Form::input('radio','status', '0',['class' => 'form-check-input','checked'=>'checked'])}} Status Off
<span class="circle">
<span class="check"></span>
</span>
</label>
</div>
<div class="form-check form-check-radio">
<label class="form-check-label">
{{Form::input('radio','status', '1',['class' => 'form-check-input'])}} Status On
<span class="circle">
<span class="check"></span>
</span>
</label>
</div>
</div>
<input type="submit" name="submit" class="btn btn-success" value="Save">
When you are using the same form for create and update, you can use the optional method.
<input type="text" class="form-control{{ $errors->has('date') ? ' is-invalid' : '' }}" name="date" id="date" value="{{ old('date', optional($expense)->date) }}">
In the create function send the variable as null like $expense = null;
And in edit function the variable has its own value from database. So when the variable has its value the input field will be filled by value from database otherwise it will be empty.
I am struggling to update data in the database with an edit form and couldn't find anything online that fits the logic of my setup.
I have a add button, delete button and an edit button. Adding and Deleting works but Editing does not update the data.
Any help would be appreciated as I have tried multiple methods with no success.
Thank you in advance.
View:
#extends('layouts.app')
#section('content')
<div class="container flex-center">
<div class="row col-md-8 flex-column">
<h1>Edit a link</h1>
#foreach ($links as $link)
<form action="{{ url('link/'.$link->id) }}" method="POST">
{!! csrf_field() !!}
#method('PUT')
#if ($errors->any())
<div class="alert alert-danger" role="alert">
Please fix the following errors
</div>
#endif
<h3 class="edit-link-title">{{ $link->title }}</h3>
{!! csrf_field() !!}
<div class="form-group{{ $errors->has('title') ? ' has-error' : '' }}">
<label for="title">Title</label>
<input type="text" class="form-control" id="title" name="title" placeholder="Title" value="{{ $link->title }}">
#if($errors->has('title'))
<span class="help-block">{{ $errors->first('title') }}</span>
#endif
</div>
<div class="form-group{{ $errors->has('url') ? ' has-error' : '' }}">
<label for="url">Url</label>
<input type="text" class="form-control" id="url" name="url" placeholder="URL" value="{{ $link->url }}">
#if($errors->has('url'))
<span class="help-block">{{ $errors->first('url') }}</span>
#endif
</div>
<div class="form-group{{ $errors->has('description') ? ' has-error' : '' }}">
<label for="description">Description</label>
<textarea class="form-control" id="description" name="description" placeholder="description">{{ $link->description }}</textarea>
#if($errors->has('description'))
<span class="help-block">{{ $errors->first('description') }}</span>
#endif
#endforeach
</div>
<button type="submit" class="btn btn-default submit-btn">Submit</button>
</form>
</div>
</div>
#endsection
web/route controller:
use Illuminate\Http\Request;
Route::post('/submit', function (Request $request) {
$data = $request->validate([
'title' => 'required|max:255',
'url' => 'required|url|max:255',
'description' => 'required|max:255',
]);
$link = tap(new App\Link($data))->save();
return redirect('/');
});
use App\Link;
Route::delete('/link/{link}', function (Link $link) {
// Link::destroy($link);
$link->delete();
return redirect('/');
});
Route::PUT('/link/{link}', function (Link $link) {
$link->update();
return redirect('/');
});
As a design pattern, it's often recommended to separate your controller from the routes. The reason your edit is not updating is that you're not providing the model with the data from the request:-
Route::PUT('/link/{link}', function (Request $request, Link $link) {
$request->validate([
'title' => 'required|max:255',
'url' => 'required|url|max:255',
'description' => 'required|max:255',
]);
$link->update($request->all());
return redirect('/');
});
In a controller, you could abstract away the validation logic to a validation helper function to avoid duplicating code.
Good luck!
I was developing a project with Laravel and want to use dropdownlist and populate it with data from database please help. Here is the code that I use:
Controller:
public function create()
{
$items = Income::pluck('name', 'id');
return view ('IncomeExpense.create');
}
View:
<div class="form-group">
{{Form::label('', 'Category')}}
{{Form::select('IncomeExpense',null, $items,['class'=>'form-control',
'placeholder'=>'Choose category'])}}
</div>
First of all,
you have an error in your controller... Please read the eloquent official documentation It should be:
public function create()
{
$items = Income::all();
return view ('IncomeExpense.create', compact('items'));
}
Anyway you should not use a form builder, I think it's much more usefull if you use the native blade features like Components & Slots. Form Builder have been removed from Laravel 5.0 if I rember correctly in order to focus the framework attention to the backend...
Heare a couple of example with Bootstrap 4:
Vanilla
<form method="POST" action="{{ route('your-route') }}" aria-label="{{ __('My form') }}">
#csrf
<div class="form-group row">
<label for="dropdown" class="col-sm-4 col-form-label text-md-right">{{ __('My dropdown') }}</label>
<div class="col-md-12">
<select class="form-control{{ $errors->has('email') ? ' is-invalid' : '' }}" name="dropdown">
#foreach($my_collection as $item)
<option value="{{ $item->id }}">{{ $item->text }}</option>
#endforeach
</select>
#if ($errors->has('dropdown'))
<span class="invalid-feedback" role="alert">
<strong>{{ $errors->first('dropdown') }}</strong>
</span>
#endif
</div>
</div>
{{-- other fields --}}
Components
<!-- /resources/views/components/select.blade.php -->
{{ $label }}
<div class="col-md-{{ $column == null ? 12 : $column }}">
<select class="form-control{{ ' ' . $select_css }}{{ $error == null ? '' : ' is-invalid' }}" name="dropdown">
#foreach($my_collection as $item)
<option value="{{ $item->id }}">{{ $item->text }}</option>
#endforeach
</select>
#if ($error != null)
<span class="invalid-feedback" role="alert">
<strong>{{ $error</strong>
</span>
#endif
</div>
<!-- /resources/views/my/form.blade.php -->
<form method="POST" action="{{ route('your-route') }}" aria-label="{{ __('My form') }}">
#csrf
<div class="form-group row">
#component('components.select', ['select_css' => 'whatever', 'my_collection' => $my_collection])
#slot('label')
<label for="dropdown" class="col-sm-4 col-form-label text-md-right">{{ __('My dropdown') }}</label>
#endslot
</div>
{{-- other fields --}}
Mirasan - You need to pass the view your information retrieved from the database.
$items = Income::pluck('name', 'id');
return view ('IncomeExpense.create')->with(compact('items'));
Then inside your blade file you will access the array 'items' (rather than $items).
Regards -
I have created a Laravel form, but I have encountered a few problems. When the form submits with information that does not meet the requirements, I want the form to redirect and to display the validation errors on the form (under the input). Furthermore, when the form redirects, I want it to keep the previous (old) values. Please give me some guidance.
Problem:
When I input information that does not match the validation requirements, the form refreshes, but none of the validation errors show up and none of the old input stays. (I simply get a brand new form with none of the old inputs and no validation errors.)
HTML:
<form role="form" action="" method="post" class="registration-form">
<fieldset>
{{ csrf_field() }}
<div class="form-top">
<div class="form-top-left">
<h3>Insight Contributor Account Info</h3>
</div>
<div class="form-top-right">
</div>
</div>
<div class="form-bottom" style="height: 400px">
<!--Name-->
<div class="form-group{{ $errors->has('name') ? ' has-error' : '' }}">
<div class="col-md-8 col-md-offset-2">
<input id="name" type="text" class="form-control" name="name"
placeholder="Full Name (e.g. John Doe)" value="{{ old('name') }}">
<br>
#if ($errors->has('name'))
<span class="help-block">
<strong>{{ $errors->first('name') }}</strong>
<h3> name is required</h3>
</span>
#endif
</div>
</div>
<!--Email-->
<div class="form-group{{ $errors->has('email') ? ' has-error' : '' }}">
<div class="col-md-8 col-md-offset-2">
<input id="email" type="email" class="form-control" name="email"
placeholder="Primary Email Address (e.g.Jdoe#gmail.com)"
value="{{ old('email') }}"><br>
#if ($errors->has('email'))
<span class="help-block">
<strong>{{ $errors->first('email') }}</strong>
</span>
#endif
</div>
</div>
<!--Password-->
<div class="form-group{{ $errors->has('password') ? ' has-error' : '' }}">
<!-- <label for="password" class="col-md-4 control-label">Password</label>-->
<div class="col-md-8 col-md-offset-2">
<input id="password" type="password" class="form-control"
placeholder="Password (at least 6 character)" name="password"><br>
#if ($errors->has('password'))
<span class="help-block">
<strong>{{ $errors->first('password') }}</strong>
</span>
#endif
</div>
</div>
<!--PasswordConfirm-->
<div class="form-group{{ $errors->has('password_confirmation') ? ' has-error' : '' }}">
<div class="col-md-8 col-md-offset-2">
<input id="password-confirm" type="password" class="form-control"
placeholder="Confirm Password" name="password_confirmation"><br>
#if ($errors->has('password_confirmation'))
<span class="help-block">
<strong>{{ $errors->first('password_confirmation') }}</strong>
<h3> password mismatch</h3>
</span>
#endif
</div>
</div>
</div>
<div class="form-top" style="margin-top: 10px">
<div class="form-top-left">
<h3>Professional Information</h3>
</div>
</div>
<div class="form-bottom" style="height: 460px">
<!--Primary Industry(single value)-->
<div class="form-group{{ $errors->has('industry') ? ' has-error' : '' }}">
<div class="col-md-8 col-md-offset-2"><br>
<select class="form-control selectpicker" name="industry" id="industry">
<option selected disabled>Primary Industry</option>
<option>Art</option>
<option>Business</option>
<option>Law</option>
<option>Media</option>
<option>Medicine</option>
<option>Education</option>
<option>Technology</option>
<option> Science</option>
<option>Service</option>
<option>Other</option>
</select>
#if ($errors->has('industry'))
<span class="help-block">
<strong>{{ $errors->first('industry') }}</strong>
</span>
#endif
</div>
</div>
<!--Primary Job Function (single value)-->
<div class="form-group{{ $errors->has('job_function') ? ' has-error' : '' }}">
<div class="col-md-8 col-md-offset-2"><br>
<select class="form-control selectpicker" name="job_function"
id="job_function">
<option selected disabled>Primary Job Function</option>
#foreach($professions as $profession)
<option #if ($profession->id == old('job_function_id')) selected
#endif value="{{ $profession->id }}">{{ $profession->name }}</option>
#endforeach
</select>
#if ($errors->has('job_function'))
<span class="help-block">
<strong>{{ $errors->first('job_function') }}</strong>
</span>#endif
</div>
</div>
<!--Add relative experience (multi tag)-->
<div id="tags" class="form-group" style="margin-top: 30px">
<div class="col-md-8 col-md-offset-2"><br>
<select id="test" style="width: 100%;margin-left: 10%;" name="tags[]"
multiple>
<option value="root" disabled="disabled">Tags</option>
<option value="level11" parent="root" disabled="disabled">Subjects
</option>
<option value="level12" parent="root" disabled="disabled">Grades
</option>
<option value="level13" parent="root" disabled="disabled">Relationship
Management
</option>
<option value="level14" parent="root" disabled="disabled">Classroom
Management & Design
</option>
<option value="level15" parent="root" disabled="disabled">Curricula &
Resources
</option>
<option value="level16" parent="root" disabled="disabled">Professional
Growth & Career Management
</option>
<option value="level17" parent="root" disabled="disabled">More</option>
#foreach($tags as $tag)
#if($tag->category =='Subjects')
<option value='{{ $tag->id }}'
parent="level11"> {{$tag->name}}</option>
#endif
#if($tag->category =='Grades')
<option value='{{ $tag->id }}'
parent="level12"> {{$tag->name}}</option>
#endif
#if($tag->category =='Relationship Management')
<option value='{{ $tag->id }}'
parent="level13"> {{$tag->name}}</option>
#endif
#if($tag->category =='Classroom Management & Design')
<option value='{{ $tag->id }}'
parent="level14"> {{$tag->name}}</option>
#endif
#if($tag->category =='Curricula & Resources')
<option value='{{ $tag->id }}'
parent="level15"> {{$tag->name}}</option>
#endif
#if($tag->category =='Professional Growth & Career Management')
<option value='{{ $tag->id }}'
parent="level16"> {{$tag->name}}</option>
#endif
#if($tag->category =='More')
<option value='{{ $tag->id }}'
parent="level17"> {{$tag->name}}</option>
#endif
#endforeach
</select>
#if ($errors->has('tags'))
<span class="help-block">
<strong>{{ $errors->first('tags') }}</strong>
</span>
#endif
</div>
</div>
<!--Bio-->
<div class="form-group{{ $errors->has('bio') ? ' has-error' : '' }}">
<!-- <label for="bio" class="col-md-4 control-label">Short Bio</label> -->
<div class="col-md-8 col-md-offset-2"><br>
<textarea id="bio" class="form-control" placeholder="Brief profile bio"
name="bio">{{ old(nl2br('bio')) }}</textarea><br>
#if ($errors->has('bio'))
<span class="help-block">
<strong>{{ $errors->first('bio') }}</strong>
</span>
#endif
</div>
</div>
</div>
<div class="form-top" style="margin-top: 10px">
<div class="form-top-left">
<h3> Agreements </h3>
</div>
<div class="form-top-right">
</div>
</div>
<div class="form-bottom">
<!--Terms-->
<h2 class="section-heading">Cypress Community Principles</h2>
<p class="lead">
<br>
Teachers value each other for their expertise.<br><br>
Teachers believe in the power of collaboration and will work together to engage
in
open and honest dialogue, provide guidance and mentorship, and create content
that
supports growth and success for fellow teachers.<br><br>
Teachers will respect each other and be mindful of what they post. We encourage,
open and honest communication, a diversity of perspectives, and thoughtful
disagreement. Harassment, disrespect, and inappropriate content are not
tolerated.<br><br>
Teachers will actively engage in fostering a positive community of learning and
growth.<br><br>
Teachers are the most significant influence on a student’s academic achievement
and
will support fellow teachers as agents of change and innovators of
education.<br><br>
</p>
<form action="#"
onsubmit="
if(document.getElementById('agree').checked) {
return true;
} else
{ alert('Please indicate that you have read and agree to the Terms and Conditions and Privacy Policy');
return false;
}">
<input type="checkbox" name="checkbox" value=0 id="agree"/> I have read and
agree to
the Community Principle,
<a href="/terms" style="color: #5dc19f">Terms
and Conditions
</a> and
<a href="/privacypolicy" style="color: #5dc19f">Privacy
Policy</a><br><br>
</form>
<!--Signup botton-->
<button type="submit" id="submit" class="btn btn-default"
style="background-color: #a5d5a7">
<i class="fa fa-btn fa-user"></i> Sign me up!
</button>
<button type="button" class="btn btn-default" style="background-color: #a5d5a7">
<a class="btn btn-link" href="{{ url('/') }}" style="color: whitesmoke">
Cancel </a>
</button>
</div>
</fieldset>
</form>
PHP:
public function register(Request $request)
{
$tags = Tag::all();
$professions = Profession::all();
if ($request->isMethod('post')) {
$validator = $this->validateRegister($request->input());
if ($validator->fails()) {
return back()->withErrors($validator)->withInput(); //TODO
}
$user = Iuser::create([
'name' => $request['name'],
'email' => $request['email'],
'password' => bcrypt($request['password']),
'bio' => $request['bio'],
'industry' => $request['industry'],
'confirmation_code' => str_random(30),
'job_function' => $request['job_function'],
]);
$user ->tags()->sync($request['tags']);
#event(new NewUserWasRegistered($user));
if($user->save()){
return redirect('/insight/login')->with('success', 'Welcome to Cypress!');
}else{
return back()->with('error', 'Register failed!')->withInput();
}
}
$datas = array('tags' => $tags, 'professions'=>$professions);
#return $user;
return view('iauth.register')->with($datas);
}
protected function validateRegister(array $data)
{
return Validator::make($data, [
'name' => 'required|max:255',
'email' => 'required|email|max:255|unique:users',
'password' => 'required|min:6|confirmed',
'password_confirmation' => 'required|min:6',
'bio' => 'required',
'industry' => 'required|string',
'job_function' => 'required|string',
], [
'required' => ':attribute is required',
'min' => ':attribute is too short',
'confirmed' => 'different passwords',
'unique' => 'This email exits',
'max' => ':attribute is too long'
]);
}
Allow me to take a different and a more structured approach to organizing your backend code.
First let's arrange that validator function into a class
https://laravel.com/docs/5.6/validation#creating-form-requests
write down: php artisan make:request RegisterUser
https://laravel.com/docs/5.6/validation
This will create something like this under App\Http\Requests:
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class RegisterUser extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* #return bool
*/
public function authorize()
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* #return array
*/
public function rules()
{
$content = [
'name' => 'required|max:255',
'email' => 'required|email|max:255|unique:users',
'password' => 'required|confirmed|min:6', //confirmed means it will receive password_confirmed aswell
'bio' => 'required',
'industry' => 'required|string',
'job_function' => 'required|string'
];
return $content;
}
}
On your Controller, you'd have:
use App\Http\Requests\RegisterUser;
.
.
.
public function register(RegisterUser $request)
{
//fetch the validated data to this $data variable, that is now an array
$data = $request->validated(); //Or all, whatever you'd like
//add this variable to the array
$data['confirmation_code'] = str_random(30);
//since all inputs have the same name as your table, you can just give it to him and he'll insert
//Whatever is in your $fillable array in Iuser, it will be filled and only that.
//If you send more data than needed, theres no worries as he will only insert what is in that array.
$user = Iuser::create(data);
//? dunno but sure
$user ->tags()->sync($request['tags']);
//Something about some event
#event(new NewUserWasRegistered($user));
return redirect('/insight/login')->with('success', 'Welcome to Cypress!');
}
Now, why I removed so much code:
Instead of having all in one place (you still have a few different operations in the controller), you have now separated it's logic structure. Validations of the requests made to the backend are in FormRequests and by the time it reaches the controller, they are validated and the Controller just needs to insert and outputs what is expected.
Q1. Should you have a try catch? If there is a chance the database is not local or something unexpected, yes.
Q2. Can I abstract even more code from the controller? Yes and you should, controller, in my opinion, should just call someone else (another class) to handle insert or update operations and return answers.
Q3. This is pretty and all but, how do I get my old values from the inputs? Whenever you're handling with FormRequests, Laravel returns a 422 status code, alongside an object called MessageBagError (not of much interest for now) but as long as you have old in your inputs (and the old('inputname') equals the name of the variable that is going to be received in this FormRequest - that is on your rules btw), blade will detect it and fill them. If, in on another situation, you want to redirect()->back()->withInput(); you can just set the $request or the array inside of withInput($data) and remember to keep {{ old ('value') }} and it SHOULD be automatically filled by Laravel (because {{ }} is explicit to laravel's blade and allows you to write php code in it if needed).
https://laravel.com/docs/5.6/requests#old-input
Q4. Why did I remove the HTTPPost validation? Because on your route folder, you can establish the routes and the httpverbs (e.g.
Route::get('home',function(){
return view('home');
})->name("home");
Route::post('register', "RegisterController#register");
//Meaning, anyone who attempts to access host/register by not using HTTPost will receive a 405 Status code (Method not allowed)
https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
I have ui that contains dropdown list and check box.Based on the drop downlist selection value i want compare with the isnesd field(it is one more field in the database),based on that comparison i want to make check box as read only field.
view:
<!-- Asset Type -->
<div class="form-group {{ $errors->has('asset_type_id') ? ' has-error' : '' }}">
<label for="asset_type_id" class="col-md-3 control-label">#lang('admin/assetdetails/form.type')</label>
<div class="controls col-md-7">
<div class="field-box">
{{ Form::select('asset_type_id',$assettype_list, Input::old('asset_type_id'), array('class'=>'select2', 'onchange' => 'check(this.value)' ,'style'=>'width:350px')) }}
{{ $errors->first('asset_type_id', '<span class="alert-msg"><i class="icon-remove-sign"></i> :message</span>') }}
</div>
</div>
</div>
<!-- NESD -->
<div class="form-group {{ $errors->has('nesd') ? 'error' : '' }}">
<label for="nesd" class="col-md-3 control-label">#lang('admin/assetdetails/form.nesd')</label>
<div class="controls col-md-7">
<input class="col-md-1 controls isnesdbox" type="checkbox" name="nesd" id="nesd" value="1" {{ $assetdetail->nesd === '1' ? 'checked' : '' }} />
{{ $errors->first('nesd', '<span class="alert-msg"><i class="icon-remove-sign"></i> :message</span>') }}
</div>
</div>
controller:
public function getCreate()
{
$location_list = array('' => '') + Location::lists('name', 'id');
$assettype_list = array('' => '') + Assettype::lists('asset_type', 'id');
// Show the page
$assetdetail_options = array('0' => 'Top Level') + Assetdetail::lists('asset_number','id');
return View::make('backend/assetdetails/edit')->with('assetdetail_options',$assetdetail_options)->with('assetdetail',new Assetdetail)->with('location_list',$location_list)->with('assettype_list',$assettype_list);
}