

docker環境で、laravelアプリが正常に動いています。

docker exec -it app bash

でコンテナに入り、laravelプロジェクト直下で、

php artisan command:test_command

とコマンドを実行した際、

/app/Console/Commands/TestCommand内で、  
モデルによるDBデータの読み出しが発生するタイミングでエラーも発生せずに  
処理が終了してしまいます。

php artisan migrate:statusでは、DBに接続し、migration情報のリストが出力されます。

/app/Console/Commands/TestCommand内で下記のような処理があった際、  
test1は出力されますが、test2は出力されず、エラーログもなく、Company::all();のところで処理が終了しているようです。

[code]

        public function handle()
        {
    
        print "test1";
        
        $companys = Company::all();
    
        print "test2";
    
        exit;
    　　　　　　　　}
    
[/code]

このような現象の解決方法がわかる方いましたら教えていただければ幸いです。

commandではなく、ウェブ閲覧側は問題なくDBに接続し、アプリが動いています。


CC BY-SA 4.0
2022-09-14T12:50:55.887
91108
2022-09-14T22:19:39.360
14234
question
docker laravel
Docker環境で、laravelのコマンド実行時DB接続できない


自己解決しました。

Company::all();で取得している、companiesテーブルのデータが多く  
メモリー不足かなにかで処理が落ちているようでした。

[code]

        Company::chunk(100, function($companys) {
            foreach($companys as $company) {
            print $company->id;
            }
        });
    
[/code]

のようにchunkで取得したところ動作しました。


CC BY-SA 4.0
2022-09-14T22:19:39.360
91109
2022-09-14T22:19:39.360
14234
91108
answer