#laravel #shippo
Вопрос:
Я создаю веб-сайт электронной коммерции с помощью Laravel 8 и пытаюсь включить тарифы на доставку в реальном времени с помощью API Shippo. Мне удалось установить Shippo через composer, но я получаю сообщение об ошибке, в котором говорится слишком мало аргументов или неопределенная переменная. Я заимствую некоторый код из статьи, касающейся Шиппо, но я продолжаю получать ошибки. У вас есть аналогичная проблема? Вы решили эту проблему? Любая помощь будет признательна. Вот мой код контроллера,
<?php
namespace AppHttpControllersUser;
use AppHttpControllersController;
use IlluminateHttpRequest;
use AppModelsShipDivision;
use AppModelsShipDistrict;
use AppModelsShipState;
use AppModelsProduct;
use AppServicesShipping_New;
use AppModelsUser;
use Auth;
useAppHttpControllersFrontendCartController;
use GloudemansShoppingcartFacadesCart;
use CarbonCarbon;
class CheckoutController extends Controller
{
/**
* @var Shipping
*/
private $shipping;
/**
* @var UserRepository
*/
private $user;
/**
* CheckoutController constructor.
* @param UserRepository $user
* @param Shipping $shipping
*/
public function __construct(User $user, Shipping_New $shipping)
{
$this->middleware('auth');
$this->shipping = $shipping;
$this->user = $user;
}
public function DistrictGetAjax($division_id) {
$ship = ShipDistrict::where('division_id',$division_id)->orderBy('district_name', 'ASC')->get();
return json_encode($ship);
}
public function StateGetAjax($district_id) {
$ship = ShipState::where('district_id',$district_id)->orderBy('state_name', 'ASC')->get();
return json_encode($ship);
}
public function CheckoutStore(Request $request) {
$data = array();
$data['name'] = $request->name;
$data['shipping_last_name'] = $request->shipping_last_name;
$data['email'] = $request->email;
$data['phone'] = $request->phone;
$data['zip'] = $request->zip;
$data['street1'] = $request->street1;
$data['company'] = $request->company;
$data['city'] = $request->city;
$data['country'] = $request->country;
$data['notes'] = $request->notes;
$data['state_id'] = $request->state_id;
$data['district_id'] = $request->district_id;
$data['division_id'] = $request->division_id;
$cartTotal = Cart::total();
// The rates is a complete object but for this we
// only need the rates_list items and will pass that.
if ($request->payment_method == 'stripe') {
return view('online-boutique-stores.payment.stripe', compact('data','cartTotal'));
}
elseif ($request->payment_method == 'paypal') {
$carts = Cart::content();
$cartQty = Cart::count();
$cartTotal = Cart::total();
return view('online-boutique-stores.payment.paypal', compact('data', 'cartTotal'));
}
else {
return 'cash';
}
}
}
Ответ №1:
Удалите эти ваши аргументы конструкции. Потому что вы не видите никакой пользы в этих аргументах. Вы можете использовать этот способ ?
public function __construct()
{
$это->промежуточное программное обеспечение(‘auth’);
}
Комментарии:
1. Итак, полностью избавиться от конструктора публичных функций?