LoginSignup
29
11

More than 1 year has passed since last update.

LaravelでSQLをデータベースクエリービルダーを書く時に便利なサイト

Last updated at Posted at 2017-12-12

#LaravelでSQLを書く時困った

通常のSQL文は書けるが、そのSQLをLaravelのクエリービルダーのコードにした時に、
合ってるのかわからず、とりあえず動かして確認したりしていた。

#Laravel Newsに良さげな記事があった

Convert Your SQL to Laravel Builder with Orator

どうやら、SQL文をLaravelのクエリービルダーのコードに変換してくれるサイトが出来たらしい。
上記の記事では以下の様な変換される例が載っていた。

test.sql
select posts.id, posts.title, posts.body from posts
where posts.author_id = 1
order by posts.published_at DESC
limit 10;

変換結果がこちら。

result.php
DB::select('posts.id','posts.title','posts.body')
    ->from('posts')
    ->where('posts.author_id', '=', 1)
    ->orderBy('posts.published_at', 'DESC')
    ->limit(10)
    ->get();

#実際に使ってみた
実際の変換サイトはこちら
Convert Your Legacy SQL to Laravel Builder

例えばこんなSQL文をLaravelのクエリービルダーに変換してみる

test.sql
SELECT name, no
FROM   users
WHERE  no = (SELECT no 
                 FROM   users
                 WHERE  name='test');

変換結果がこちら。なるほど。

result.php
DB::table('users')
->select('name', 'no')
->where('no','=',function($query) {
	$query->from('users')
		->select('no')
		->where('name','=','test');
})
->get();

複雑なSQLの場合の参考に使ったり出来るかも。

29
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
29
11