サブスクリプションに User モデルを使用していないため、モデルへのサブスクリプションの関係が次のように定義されているため、プランを切り替えるときに問題が発生しています。
/**
* Get the user that owns the subscription.
*/
public function user()
{
$model = getenv('BRAINTREE_MODEL') ?: config('services.braintree.model');
return $this->belongsTo($model, 'user_id');
}
これは、Subscription.php にハードコードされた user_id を持っています。https://github.com/laravel/cashier-braintree/blob/2.0/src/Subscription.php
Braintree バージョンの Cashier を使用していますが、Stripe でも同じだと確信しています。
ベンダー パッケージを編集しましたが、これはベスト プラクティスではなく、自動展開では使用できないことがわかっています。
このクラスを拡張して Laravel のメソッドをオーバーライドするにはどうすればよいですか?
クラスを拡張する方法に関するガイドをたくさん見つけましたが、これは特性を介して実装されているため、この特性を拡張する方法がわかりませんか?
任意のポインタをいただければ幸いです。