0

在我SparkServiceProvider.php设置火花配置和计划的地方,我有Spark::referToTeamAs('group');

当我访问时/missing-group,我收到 404 错误,因为 var_dumping $teamString in/spark/src/Http/routes.php正在显示team而不是group. 因此,在使用该路由文件之前,我的设置似乎没有被捕获。

有没有办法在调用该路由文件之前设置 teamString ?比如改变服务提供者的顺序之类的?

我不确定从哪里开始。提前致谢!

App\Providers\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();
}

...
4

3 回答 3

1

文档

请务必在服务提供者的register 方法中调用此方法,因为如果在 booted 方法中调用 Spark 将无法正常运行。此外,请确保传递单词的单数小写形式。

所以而不是

public function booted()
{
    ...
    Spark::referToTeamAs('group');
    ...

你会想要

public function register()
{
    ...
    Spark::referToTeamAs('group');
    ...
于 2017-05-25T12:52:34.643 回答
1

如果您使用的是 Spark 版本 6+ referToTeamAs,现在prefixTeamsAs

于 2019-04-17T07:35:47.100 回答
0

boot()在 Spark 定义路由工作之前添加另一个运行该方法的提供程序:

App\Providers\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,它就可以工作了!

于 2017-05-24T20:50:18.340 回答