loading...

LaravelのModelからSQLを直接実行する方法

dala00 profile image dala00 Originally published at crieit.net ・1 min read

LaravelでSQLを直接実行する方法というのは、一般的には下記のようにDBのFacadeを使用する方法になる。

DB::statement($query);

Laravelだと上記で問題ないのだが、EloquentはLaravelでなくても使用できるので、プロジェクトに個別にEloquentを入れている場合はDBファザードが無いため上記が実行できない。

その場合、モデル自体からDBファザードと同じものを取得する方法があるためそれで同じ様にしてSQLを実行することができる。

まず適当にモデルのインスタンスを作成する。

$user = new User;

あとは同様。

$user->getConnection()->statement($query);

Discussion

markdown guide