| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 | <?phpnamespace App\Http\Controllers\Front;use App\Shop\Couriers\Repositories\Interfaces\CourierRepositoryInterface;use App\Shop\Customers\Repositories\CustomerRepository;use App\Shop\Customers\Repositories\Interfaces\CustomerRepositoryInterface;use App\Http\Controllers\Controller;use App\Shop\Orders\Order;use App\Shop\Orders\Transformers\OrderTransformable;class AccountsController extends Controller{    use OrderTransformable;    /**     * @var CustomerRepositoryInterface     */    private $customerRepo;    /**     * @var CourierRepositoryInterface     */    private $courierRepo;    /**     * AccountsController constructor.     *     * @param CourierRepositoryInterface $courierRepository     * @param CustomerRepositoryInterface $customerRepository     */    public function __construct(        CourierRepositoryInterface $courierRepository,        CustomerRepositoryInterface $customerRepository    ) {        $this->customerRepo = $customerRepository;        $this->courierRepo = $courierRepository;    }    public function index()    {        $customer = $this->customerRepo->findCustomerById(auth()->user()->id);        $customerRepo = new CustomerRepository($customer);        $orders = $customerRepo->findOrders(['*'], 'created_at');        $orders->transform(function (Order $order) {            return $this->transformOrder($order);        });        $orders->load('products');        $addresses = $customerRepo->findAddresses();        return view('front.accounts', [            'customer' => $customer,            'orders' => $this->customerRepo->paginateArrayResults($orders->toArray(), 15),            'addresses' => $addresses        ]);    }}
 |