I want to share a variable of my views with:

class AppServiceProvider extends ServiceProvider
{
    /**
     * Bootstrap any application services.
     *
     * @return void
     */
    public function boot()
    {
        \Schema::defaultStringLength(191);
        $customers = Customer::get();
        \View::share('customers', $customers);
    }
}

它可以正常工作,但是当我想通过Artisan迁移我的表时,它会抛出一个错误,没有找到customers的表,因为在迁移开始之前判断了它.所以我需要一些像这样的东西

if(!artisan_request) {
    //request to laravel is via web and not artisan
} 

But I haven't found anything in the documentation.

推荐答案

您可以使用

app()->runningInConsole()

Underneath that, all it does is check the interface type

return php_sapi_name() == 'cli' || php_sapi_name() == 'phpdbg'

你可以在PHP Docs site上找到更多信息

Laravel相关问答推荐

保存很多模型太慢

如何在使用Docker容器部署Laravel 8、9、10时处理SIGTERM信号,特别是与调度程序和工作进程相关的问题?

分页计数(*)查询问题

将数据从控制器传递到 Laravel 中的视图

在部署到 AWS 时保持我的环境参数安全

如何在 laravel 5.3 中验证没有 auth:api 中间件的用户?

如何使用 Laravel Passport 在 API 中正确实现 OAuth?

如何在 laravel 5.2 中显示 500 内部服务器错误页面?

我的composer 不会完全用 Laravel 4 更新它会被artisan卡住

如何处理 Laravel 的 SMTP 驱动程序中的自签名 TLS 证书?

Laravel 5 如何全局设置 Cache-Control HTTP 标头?

Laravel 5 日志(log)中的最大文件数

克隆后设置 Laravel 项目

Laravel 4,如何测试复选框是否被选中?

如何在 php Laravel 中对关联数组进行排序

Laravel 搜索关系

Laravel 如何具体构建和判断 CSRF 令牌?

laravel 队列 - 同步驱动程序如何工作?它是在单独的进程/线程还是主执行线程中执行?

Laravel 手动登录功能

Laravel 5 Auth注销不起作用