Scroll

「常に新しい技術に目を向けること」
「既存の技術をより深堀りすること」

カテゴリ:Laravel
タグ:
公開日:2021/06/30(水)
最終更新日:2021/08/04(水)

Laravel6でSQLファイルからEloquent Modelを作成

はじめに

システム開発をしていると、Viewにするほどではない複雑なSQLを利用する機会があります。
個人的にはSQL文やJOIN等の処理をプログラムソース上に記述したくないので、SQLファイルを作成してファイルを読み込むようにしています。
(個人的にはSQLの可読性や保守性が向上します)

また、普段データの取得にはEloquent Modelを利用しているので、作成したSQLファイルもEloquent Modelにしたかったので自作してみました。

ViewっぽいEloquent Modelを作成

ViewっぽいModelだと思っているので、名前はviewにしています。
Modelを保存しているディレクトリ(App\Models)にsqldataというディレクトリを作成し、そこにSQLファイルを配置することで利用できます。

仕組みとしては、BuilderfromSubを利用して、Eloquent ModelのFromにSQLファイルを設定しています。

利用方法

viewを利用する時は、$sqlnameを事前に設定することで通常のEloquent Modelを同様に利用できます。

参考サイト

下記のサイトを参考に作成しています。
生SQLからEloquent Modelを作る3つの方法

この記事を書いた人:ヤス


シェアのご協力をお願いいたします!

カテゴリー

アーカイブ