私たちはlaravelのモデルメソッドに異なるmysql接続を指定できますか?
protected $connection = 'my_db';
を設定することにより、特定のモデルのためのMySQLの接続を指定することができます。しかし、モデルが特定の方法に使用しているものとは異なる接続を指定する方法があります知っています。
たとえば、私のモデルでデフォルト接続としてmy_db
が使用されていますが、モデルメソッドfoo()
に別の接続my_db1
を使用したいとします。どうすればいいのですか?
return $this->connection('foo')->where('id', 1)->get();
私の接続名は、私が.env'ファイル 'で定義された' my_db1'です。私のモデルメソッドは 'public function foo(){}'のようなものです。 'foo()'がdiff接続にアクセスするようにしたい。 –
アプリケーションで使用しているすべての接続を '/ config/database.php'設定ファイルで定義する必要があります。次に、クエリを構築するときに 'connection()'を使用します。あなたのクエリがモデルであれば、私の答えのコードを使って 'foo'を設定ファイルに定義されている接続名に変更してください。 –