我使用软件包“ laravel / cashier-mollie”,该软件包通过composer安装到供应商目录中,并具有以下模型:\ Laravel \ Cashier \ Order \ OrderNumberGenerator
我想重写此模型以实现自己的订单号逻辑。
我创建了一个新模型:
<?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],
]);
}
}
也许我做错了什么,但是它不起作用。我怎么办?
答案 0 :(得分:0)
请从模型扩展中删除构造函数,并改用trait。在特征内有一个名为public function initializeYourTraitName() { $this->offset = config('cashier.order_number_generator.offset'); }