检查输入是否来自控制台

时间:2017-05-22 11:55:51

标签: laravel laravel-5 laravel-5.4 artisan

我想与我分享我的观点变量:

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
} 

但我在文档中没有找到任何内容。

2 个答案:

答案 0 :(得分:13)

您可以使用

检查您是否在控制台中运行
<TextBlock x:Name="txt" Text="By default, This will be selected" Visibility="Collapsed" />
<Image Source="info.png" cal:Message.Attach="[Event MouseEnter]=[Action MouseOverCallOut(txt.Text)]" Margin="5,0,5,0" />

在其下面,它只是检查界面类型

app()->runningInConsole()

您可以在PHP Docs site

上找到更多信息

答案 1 :(得分:3)

要检测应用程序是否在控制台中运行,您可以执行以下操作:

if(App::runningInConsole())
{
  // app is running in console
}

请参阅illuminate/Foundation/Application.php:520