在我设置火花配置和计划的SparkServiceProvider.php
中,我有Spark::referToTeamAs('group');
当我访问/missing-group
时,由于/spark/src/Http/routes.php
中的var_dumping $ teamString显示team
而非group
,我收到了404错误。所以看起来我的设置在使用路由文件之前没有捕获。
有没有办法在调用该路由文件之前设置teamString?比如改变服务提供商的顺序还是什么?
我不确定从哪里开始。提前谢谢!
应用\提供商\ SparkServiceProvider
...
/**
* Finish configuring Spark for the application.
*
* @return void
*/
public function booted()
{
Spark::collectsBillingAddress();
Spark::afterLoginRedirectTo('/dashboard');
Spark::referToTeamAs('group');
Spark::useStripe()
->noProrate()
->noAdditionalTeams();
Spark::plan('Individual', 'stripe-individual-ticket')
->price(300)
->features(['First', 'Second', 'Third'])
->yearly();
Spark::teamPlan('Group', 'stripe-group-ticket')
->price(300)
->features(['First', 'Second', 'Third'])
->yearly();
}
...
答案 0 :(得分:1)
来自the docs:
请务必在服务的注册方法中调用此方法 提供者,因为如果在中调用它,Spark将无法正常工作 启动方法。另外,确保你通过单数, 小写的单词形式。
所以而不是
public function booted()
{
...
Spark::referToTeamAs('group');
...
你想要
public function register()
{
...
Spark::referToTeamAs('group');
...
答案 1 :(得分:0)
在Spark定义路由之前,添加另一个运行boot()
方法的提供程序:
应用\提供商\ ConfigureSparkServiceProvider 强>
<?php
namespace App\Providers;
use Laravel\Spark\Spark;
use Laravel\Spark\Providers\SparkServiceProvider as ServiceProvider;
class ConfigureSparkServiceProvider extends ServiceProvider
{
/**
* Bootstrap the application services.
*
* @return void
*/
public function boot()
{
Spark::referToTeamAs('group');
parent::boot();
}
/**
* Register the application services.
*
* @return void
*/
public function register()
{
//
}
}
然后记得将它添加到/config/app.php
中的提供者列表中并且它有效!
答案 2 :(得分:0)
如果您使用的是Spark版本6 +,referToTeamAs
现在为prefixTeamsAs