Laravel Spark referToTeamAs方法不起作用

时间:2017-05-24 20:31:32

标签: laravel laravel-spark

在我设置火花配置和计划的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();
}

...

3 个答案:

答案 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