Laravel Artisan ::调用('migrate:status')作为json响应

问题描述 投票:0回答:2

我想在控制器中获取我的laravel应用程序的迁移状态作为json响应,我尝试

$migratiorns = \Artisan::call('migrate:status');
return response()->json($migratiorns);

\Artisan::call返回一个整数0

我应该如何使用我的案例来获得所需的回复?

json laravel-5 controller migrate artisan-migrate
2个回答
0
投票

这个问题已经很老了,但是我遇到了同样的问题并没有找到任何解决方案,所以我做了一个小帮手功能来动态地进行待定迁移,也许它会帮助其他人:

function getPendingMigration($migrationsFolderPath = false, $toJson = false)
{
    $migrationsFolderPath = $migrationsFolderPath ?: database_path('/migrations');
    $migrations = app('migrator')->getMigrationFiles($migrationsFolderPath);
    $pendingMigrations = [];
    foreach ($migrations as $migration => $fullpath){
        if(!\Illuminate\Support\Facades\DB::table('migrations')->where('migration', $migration)->exists())
            array_push($pendingMigrations, $migration);
    }
    return $toJson ? json_encode($pendingMigrations) : $pendingMigrations;
}

0
投票

$ migration的值与您在命令行上看到的输出相同,这是一种表格。它基本上是一个无法转换为json的字符串值。

© www.soinside.com 2019 - 2024. All rights reserved.