お世話になります。
Laravelで通常のコントローラ上ではSQLに接続して問題なくDBとデータのやり取りができていますが、LaravelのCommandを使うとSQLエラーが出て接続ができないという謎現象に出くわしてしまいました。コントローラ側で利用しているSQL文はinsert,select,update,delete共に問題ないです。
Commandはいつものところにこのような状態で作成しています。
app/Console/Commands/fooBar.php
SQLの実行以外は問題なく使えております。コントローラ側で実際につかえているコードを使っているので基本的には問題ないと思っています。
出るエラーは以下になります。そもそも接続できなくてタイムアウトになっているようです。
Illuminate\Database\QueryException : SQLSTATE[HY000] [2002] Operation timed out (SQL: select * from `foobar_table`)
バージョンは以下です。
Laravel Framework 5.8.15 PHP 7.1.23 (cli) (built: Feb 22 2019 22:19:32) ( NTS ) ysql Ver 14.14 Distrib 5.6.44, for Linux (x86_64)
以下のようなコードで、テーブルをselectするだけです。
<?php namespace App\Console\Commands; use Illuminate\Console\Command; use Illuminate\Support\Facades\DB; use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Database\Eloquent\Model; /** * app/Console/Commands/fooBar.php * command: php artisan foo:bar */ class fooBar extends Command { /** * The name and signature of the console command. * * @var string */ protected $signature = 'foo:bar'; /** * The console command description. * * @var string */ protected $description = ''; /** * Create a new command instance. * * @return void */ public function __construct() { parent::__construct(); } /** * @return string */ public function handle() { $foobar = DB::table('foobar_table') ->get(); echo "end.\n"; } }
何かしらパッケージのバージョンなどに依存することなのか、そもそも何か致命的に間違っているのか全くわかりませんでした。
こちら詳しい方いましたら、ご教授お願いいたします。
回答1件
あなたの回答
tips
プレビュー