Udhayan Nair
Udhayan Nair

Reputation: 552

Laravel call method on any artisan command

Is it possible to set a method that changes a value in my database automatically when I run a php artisan command? What I'm trying to accomplish is change the value of the first row in my "domains" table to suit the url from my .env file automatically whenever I push codes to my live/staging environment. Are there any ways to do this automatically without me manually going into my DB and changing it.

Upvotes: 1

Views: 885

Answers (1)

Andrei Sena
Andrei Sena

Reputation: 177

You could setup a Listener for the native event CommandFinished and check if the command is the config:cache.

Event::listen('Illuminate\Console\Events\CommandFinished', function ($event) {
    if ($event->command == 'config:cache') {
        // Change domains table data using Eloquent or Query Builder
    }
});

To learn more about Events, see: https://laravel.com/docs/5.7/events#generating-events-and-listeners

Upvotes: 1

Related Questions