Ошибка Laravel: Аргумент 1, переданный в App \ Services \ Booking \ BookingService :: save (), должен быть экземпляром App \ Http \ Requests \ - PullRequest
0 голосов
/ 25 апреля 2019

Как исправить ошибку:

Аргумент 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();
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...