You don't show the routes registered for the Admin TBookingController; are you registering a Route::resource which is then taking the tbooking.store route name?
Laravel Controller
I have a TbookingController in User folder and another TbookingController in Admin folder but when I want to insert data into database using TbookingController in User folder, it does not work because it is only using the TbookingController in Admin folder. Please any help?
--------------------------------The Error------------------------------
Method
App\Http\Controllers\Admin\TbookingController::store does not exist.
-------------------------------Tbooking Route---------------------------
Route::group(['namespace' => 'User'],function(){
Route::get('trip','TripController@show')->name('trip');
Route::get('tbooking','TbookingController@create')->name('tbooking');
Route::post('tbooking','TbookingController@store')->name('tbooking.store');
});
----------------------------TbookingController in User Folder------------
<?php
namespace App\Http\Controllers\User;
use Illuminate\Http\Request;
use App\Model\user\Trip;
use App\Model\user\Tbooking;
use App\Http\Controllers\Controller;
use App\Http\Controllers\User\TbookingController as UserTbookingController;
class TbookingController extends Controller
{
public function create()
{
$trips = Trip::all();
return view('tbooking',compact('trips'));
}
public function store(Request $request)
{
$this->validate($request,[
'name' => 'required',
'email' => 'required',
'gender' => 'required',
'mobile_one' => 'required',
'mobile_two' => '',
'activity' => 'required',
'date' => 'required',
]);
$tbooking = new Tbooking;
$tbooking->name = $request->name;
$tbooking->email = $request->email;
$tbooking->gender = $request->gender;
$tbooking->mobile_one = $request->mobile_one;
$tbooking->mobile_two = $request->mobile_two;
$tbooking->status = $request->status;
$tbooking->save();
$tbooking->trips()->sync($request->trips);
return redirect(route('tbooking'));
}
}
-----------------TbookingController in Admin Folder------------------------
<?php
namespace App\Http\Controllers\Admin;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
class TbookingController extends Controller
{
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('auth:admin');
$this->middleware('admin');
}
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
//
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function edit($id)
{
//
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $id)
{
//
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id)
{
//
}
}
---------------------------Tbooking form---------------------------
<form action="{{ route('tbooking.store') }}" method="post">
{{ csrf_field() }}
<div class="form-group col-md-12">
<input type="text" name="name" class="form-control" placeholder="Name" required>
</div>
<div class="form-group col-md-12">
<input type="email" name="email" class="form-control" placeholder="Email" required>
</div>
<div class="form-group col-md-12">
<select name="gender" id="gender" class="form-control" required>
<option value="">Select Gender</option>
<option value="Male">Male</option>
<option value="Female">Female</option>
</select>
</div>
<div class="form-group col-md-12">
<input type="text" name="mobile" class="form-control" placeholder="Mobile Number" required>
</div>
<div class="form-group col-md-12">
<input type="text" name="mobile2" class="form-control" placeholder="Another Mobile Number">
</div>
<div class="form-group col-md-12">
<select name="trips" id="country" class="form-control">
@foreach ($trips as $trip)
<option value="{{ $trip->id }}">{{ $trip->title }}</option>
@endforeach
</select>
</div>
<div class="form-group col-md-12">
<select name="activity" id="activities" class="form-control" required>
<option value="">Activity</option>
<option value="Tour">Tour</option>
<option value="Visit">Visit</option>
<option value="Business">Business</option>
<option value="Stay">Stay</option>
</select>
</div>
<div class="form-group col-md-12">
<label for="date">Travel Date</label>
<input type="date" name="date" class="form-control" required>
</div>
<div class="form-group col-md-12">
<button type="submit" class="btn btn-primary">Register</button>
</div>
</form>
--------------------------------Tbooking Model---------------------------------------
<?php
namespace App\Model\user;
use Illuminate\Database\Eloquent\Model;
class Tbooking extends Model
{
public function trips()
{
return $this->belongsToMany('App\Model\user\Trip','tbooking_trips')->orderBy('created_at','DESC')->paginate(5);
}
}
Please or to participate in this conversation.