Laravel 覆盖/扩展模型
我使用“laravel/cashier mollie”软件包,该软件包通过composer安装到供应商目录中,其型号为:\laravel\cashier\Order\OrderNumberGenerator 我想覆盖这个模型来实现我自己的ordernumber逻辑 我创建了一个新模型:Laravel 覆盖/扩展模型,laravel,Laravel,我使用“laravel/cashier mollie”软件包,该软件包通过composer安装到供应商目录中,其型号为:\laravel\cashier\Order\OrderNumberGenerator 我想覆盖这个模型来实现我自己的ordernumber逻辑 我创建了一个新模型: <?php namespace App\Payments; use Laravel\Cashier\Order\Order; use Laravel\Cashier\Order\OrderNumberG
<?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],
]);
}
}
请从模型扩展中删除构造函数,并改用trait。在trait中有一个名为的公共函数initializeYourTraitName(){$this->offset=config('cashier.order\u number\u generator.offset');}
什么意思它不起作用???你有错误吗?你如何使用这个新类?我的意思是,你的代码怎么知道调用这个而不是原始的?