Как исправить ошибку:
Аргумент 1, передаваемый в App \ Services \ Booking \ BookingService :: save (), должен быть экземпляром App \ Http \ Requests \ StoreBookingRequestType, экземпляром Illuminate\ Http \ Запрос передан в C: \ xampp_n \ htdocs \ get-serve-admin \ app \ Http \ Controllers \ BookingController.php в строке 75.
Я получаю сообщение об ошибке, когда попробуйте сохранить бронирование .
в приложении \ Services \ Booking \ BookingService.php
/**
* Save Booking to database
*
* @param StoreBookingRequestType $request
* @return string
*/
public function save(StoreBookingRequestType $request)
{
DB::beginTransaction();
try {
$request['user'] = $request->get('user_id');
Booking::create($request->all());
} catch (\Exception $e) {
DB::rollback();
Log::error('Booking Error: Storing New Record - '.$e->getMessage());
return BookingResponseType::ERROR;
}
DB::commit();
return BookingResponseType::SUCCESS;
}
в приложении контроллера \ Http \ Controllers \ BookingController.php
namespace App\Http\Controllers;
use App\Booking;
use App\Client;
use App\Enums\BookingResponseType;
use App\PaymentMethod;
use App\PaymentStatus;
use App\Services\Booking\BookingService;
use App\User;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
class BookingController extends Controller{
private $payment_methods;
private $payment_statuses;
private $clients;
private $users;
private $booking_service;
private $booking_service;
public function __construct()
{
view()->share('page_title','Bookings');
$this->payment_methods = PaymentMethod::all()->pluck('name','id');
$this->payment_statuses = PaymentStatus::all()->pluck('name','id');
$this->clients = Client::all()->pluck('fullname','id');
$this->users = User::all()->pluck('fullname','id');
$this->booking_service = new BookingService();
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return BookingResponseType
*/
public function store(Request $request)
{
DB::beginTransaction();
try {
$action = $this->booking_service->save($request);
if($action=="Success") {
flash('Record has been successfully saved.')->success();
} else {
flash('Error');
}
} catch (\Exception $e) {
DB::rollback();
flash('Error: '.$e->getMessage())->error();
return redirect()->back()->withInput($request->all());
}
DB::commit();
return redirect()->back();
}
}