Переопределение / расширение модели - PullRequest
0 голосов
/ 24 января 2020

Я использую пакет "laravel / cashier-moll ie", который устанавливается через composer в каталог поставщика и имеет модель: \ Laravel \ Cashier \ Order \ OrderNumberGenerator

Я хочу переопределить эту модель для реализации моего собственного лога номера заказа c.

Я создал новую модель:

<?php

namespace App\Payments;

use Laravel\Cashier\Order\Order;
use Laravel\Cashier\Order\OrderNumberGenerator;

class OwnOrderNumberGenerator extends OrderNumberGenerator
{


    protected $offset;
    /**
     * OrderNumberGenerator constructor.
     */
    public function __construct()
    {
        $this->offset = config('cashier.order_number_generator.offset');
    }
    /**
     * Generate an order reference.
     *
     * @return string
     */

    public function generate()
    {
        $number = str_pad(
            $this->offset + Order::count() + 1,
            4,
            '0',
            STR_PAD_LEFT
        );
        $numbers = str_split($number, 4);
        return now()->month .'-'. now()->year . ' '. implode('-',[
            now()->year,
            $numbers[0],
            $numbers[1],
        ]);
    }
}

Возможно, я что-то делаю не так, но это не сработает .. Что мне делать неправильно?

1 Ответ

0 голосов
/ 25 января 2020

Пожалуйста, удалите конструктор из расширения вашей модели и используйте вместо него черту. С функцией внутри черты, называемой public function initializeYourTraitName() { $this->offset = config('cashier.order_number_generator.offset'); }

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...