{"id":216,"date":"2025-02-26T22:14:19","date_gmt":"2025-02-26T13:14:19","guid":{"rendered":"https:\/\/hexis.jp\/?p=216"},"modified":"2025-02-26T23:04:49","modified_gmt":"2025-02-26T14:04:49","slug":"laravel-query-builder%e5%85%a5%e9%96%80%ef%bc%81%e5%9f%ba%e6%9c%ac%e6%a7%8b%e6%96%87%e3%81%8b%e3%82%89%e5%ae%9f%e8%b7%b5%e7%9a%84%e3%81%aa%e3%82%af%e3%82%a8%e3%83%aa%e3%81%be%e3%81%a7%e5%be%b9","status":"publish","type":"post","link":"https:\/\/hexis.jp\/?p=216","title":{"rendered":"Laravel Query Builder\u5165\u9580\uff01\u57fa\u672c\u69cb\u6587\u304b\u3089\u5b9f\u8df5\u7684\u306a\u30af\u30a8\u30ea\u307e\u3067\u5fb9\u5e95\u89e3\u8aac"},"content":{"rendered":"\n<h3 class=\"wp-block-heading\"><strong>1. \u30a4\u30f3\u30c8\u30ed\u30c0\u30af\u30b7\u30e7\u30f3<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Laravel\u3067\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u64cd\u4f5c\u3059\u308b\u65b9\u6cd5\u3068\u3057\u3066\u3001Eloquent ORM\u3068Query Builder\u306e2\u3064\u304c\u3042\u308a\u307e\u3059\u3002Eloquent\u306f\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u6307\u5411\u306e\u30a2\u30d7\u30ed\u30fc\u30c1\u3092\u53d6\u308a\u3001\u30e2\u30c7\u30eb\u3092\u901a\u3058\u3066\u30c7\u30fc\u30bf\u3092\u64cd\u4f5c\u3057\u307e\u3059\u3002\u4e00\u65b9\u3067\u3001Query Builder\u306fSQL\u306b\u8fd1\u3044\u8a18\u8ff0\u304c\u3067\u304d\u308b\u305f\u3081\u3001\u67d4\u8edf\u304b\u3064\u8efd\u91cf\u306a\u30af\u30a8\u30ea\u306e\u4f5c\u6210\u306b\u9069\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Eloquent\u3068Query Builder\u306e\u9055\u3044<\/strong><\/h4>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>\u7279\u5fb4<\/th><th>Eloquent ORM<\/th><th>Query Builder<\/th><\/tr><\/thead><tbody><tr><td>\u8a18\u8ff0\u30b9\u30bf\u30a4\u30eb<\/td><td>\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u6307\u5411<\/td><td>SQL\u306b\u8fd1\u3044<\/td><\/tr><tr><td>\u53ef\u8aad\u6027<\/td><td>\u9ad8\u3044\uff08Laravel\u3089\u3057\u3044\u8a18\u8ff0\uff09<\/td><td>SQL\u30e9\u30a4\u30af\u3067\u76f4\u611f\u7684<\/td><\/tr><tr><td>\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9<\/td><td>\u6bd4\u8f03\u7684\u9045\u3044\uff08\u30ea\u30ec\u30fc\u30b7\u30e7\u30f3\u51e6\u7406\u304c\u591a\u3044\uff09<\/td><td>\u8efd\u91cf\u3067\u9ad8\u901f<\/td><\/tr><tr><td>\u4f7f\u3044\u3069\u3053\u308d<\/td><td>\u5c0f\u301c\u4e2d\u898f\u6a21\u306e\u30c7\u30fc\u30bf\u51e6\u7406<\/td><td>\u5927\u91cf\u30c7\u30fc\u30bf\u3084\u30ab\u30b9\u30bf\u30e0\u30af\u30a8\u30ea<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Eloquent\u306f\u30ea\u30ec\u30fc\u30b7\u30e7\u30f3\u304c\u7c21\u5358\u306b\u6271\u3048\u308b\u4e00\u65b9\u3067\u3001Query Builder\u306f\u3088\u308a\u8a73\u7d30\u306a\u30af\u30a8\u30ea\u3092\u69cb\u7bc9\u3067\u304d\u308b\u305f\u3081\u3001\u5927\u898f\u6a21\u306a\u30c7\u30fc\u30bf\u51e6\u7406\u3084\u7279\u5b9a\u306e\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u30c1\u30e5\u30fc\u30cb\u30f3\u30b0\u304c\u5fc5\u8981\u306a\u5834\u5408\u306b\u5f79\u7acb\u3061\u307e\u3059\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Query Builder\u3092\u4f7f\u3046\u30e1\u30ea\u30c3\u30c8<\/strong><\/h4>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>SQL\u306b\u8fd1\u3044\u8a18\u8ff0\u304c\u53ef\u80fd<\/strong>\n<ul class=\"wp-block-list\">\n<li>\u751f\u306eSQL\u3068\u4f3c\u305f\u66f8\u304d\u65b9\u3067\u3001Laravel\u306e\u4fbf\u5229\u6a5f\u80fd\u3082\u4f7f\u3048\u308b\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Eloquent\u3088\u308a\u8efd\u91cf<\/strong>\n<ul class=\"wp-block-list\">\n<li>\u5fc5\u8981\u6700\u4f4e\u9650\u306e\u51e6\u7406\u3067\u30c7\u30fc\u30bf\u3092\u53d6\u5f97\u3067\u304d\u308b\u305f\u3081\u3001\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u304c\u5411\u4e0a\u3002<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u67d4\u8edf\u306a\u30af\u30a8\u30ea\u4f5c\u6210\u304c\u53ef\u80fd<\/strong>\n<ul class=\"wp-block-list\">\n<li>\u30ab\u30b9\u30bf\u30e0\u30af\u30a8\u30ea\u3084\u8907\u96d1\u306a\u30c7\u30fc\u30bf\u53d6\u5f97\u3092\u52b9\u7387\u7684\u306b\u8a18\u8ff0\u3067\u304d\u308b\u3002<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">\u3053\u306e\u3088\u3046\u306b\u3001Query Builder\u306fEloquent\u3088\u308a\u3082\u4f4e\u30ec\u30d9\u30eb\u306a\u30c7\u30fc\u30bf\u64cd\u4f5c\u3092\u53ef\u80fd\u306b\u3057\u3064\u3064\u3001SQL\u3068\u540c\u69d8\u306e\u76f4\u611f\u7684\u306a\u66f8\u304d\u65b9\u3092\u63d0\u4f9b\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"2_Query_Builder%E3%81%AE%E5%9F%BA%E6%9C%AC%E6%A7%8B%E6%96%87\"><\/span><strong>2. Query Builder\u306e\u57fa\u672c\u69cb\u6587<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Laravel\u306eQuery Builder\u3092\u4f7f\u3046\u3053\u3068\u3067\u3001SQL\u306e\u3088\u3046\u306a\u30af\u30a8\u30ea\u3092\u30b7\u30f3\u30d7\u30eb\u306b\u8a18\u8ff0\u3067\u304d\u307e\u3059\u3002\u3053\u306e\u30bb\u30af\u30b7\u30e7\u30f3\u3067\u306f\u3001\u57fa\u672c\u7684\u306a\u30af\u30a8\u30ea\u306e\u66f8\u304d\u65b9\u3092\u89e3\u8aac\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>2.1 \u30c7\u30fc\u30bf\u306e\u53d6\u5f97\uff08SELECT\uff09<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u30c7\u30fc\u30bf\u3092\u53d6\u5f97\u3059\u308b\u306b\u306f <code>DB::table('\u30c6\u30fc\u30d6\u30eb\u540d')<\/code> \u3092\u4f7f\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-php\" data-lang=\"PHP\"><code>use Illuminate\\Support\\Facades\\DB;\n\n\/\/ \u5168\u4ef6\u53d6\u5f97\n$users = DB::table(&#39;users&#39;)-&gt;get();\n\n\/\/ 1\u4ef6\u306e\u307f\u53d6\u5f97\n$user = DB::table(&#39;users&#39;)-&gt;where(&#39;id&#39;, 1)-&gt;first();<\/code><\/pre><\/div>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>\u30ab\u30e9\u30e0\u3092\u6307\u5b9a\u3057\u3066\u53d6\u5f97<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">\u7279\u5b9a\u306e\u30ab\u30e9\u30e0\u306e\u307f\u53d6\u5f97\u3059\u308b\u5834\u5408\u306f <code>select()<\/code> \u3092\u4f7f\u7528\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-php\" data-lang=\"PHP\"><code>$users = DB::table(&#39;users&#39;)-&gt;select(&#39;id&#39;, &#39;name&#39;)-&gt;get();<\/code><\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>2.2 \u6761\u4ef6\u4ed8\u304d\u53d6\u5f97\uff08WHERE\uff09<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u30c7\u30fc\u30bf\u3092\u30d5\u30a3\u30eb\u30bf\u30ea\u30f3\u30b0\u3059\u308b\u306b\u306f <code>where()<\/code> \u3092\u4f7f\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-php\" data-lang=\"PHP\"><code>\/\/ ID\u304c10\u306e\u30e6\u30fc\u30b6\u30fc\u3092\u53d6\u5f97\n$user = DB::table(&#39;users&#39;)-&gt;where(&#39;id&#39;, 10)-&gt;first();\n\n\/\/ \u5e74\u9f62\u304c20\u4ee5\u4e0a\u306e\u30e6\u30fc\u30b6\u30fc\u3092\u53d6\u5f97\n$users = DB::table(&#39;users&#39;)-&gt;where(&#39;age&#39;, &#39;&gt;=&#39;, 20)-&gt;get();<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u8907\u6570\u306e\u6761\u4ef6\u3092\u7d44\u307f\u5408\u308f\u305b\u308b\u3053\u3068\u3082\u53ef\u80fd\u3067\u3059\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-php\" data-lang=\"PHP\"><code>$users = DB::table(&#39;users&#39;)\n    -&gt;where(&#39;age&#39;, &#39;&gt;=&#39;, 20)\n    -&gt;where(&#39;status&#39;, &#39;active&#39;)\n    -&gt;get();<\/code><\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>2.3 \u4e26\u3073\u66ff\u3048\uff08ORDER BY\uff09<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u30c7\u30fc\u30bf\u306e\u4e26\u3073\u9806\u3092\u6307\u5b9a\u3059\u308b\u306b\u306f <code>orderBy()<\/code> \u3092\u4f7f\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-php\" data-lang=\"PHP\"><code>\/\/ \u5e74\u9f62\u9806\u306b\u6607\u9806\u30bd\u30fc\u30c8\n$users = DB::table(&#39;users&#39;)-&gt;orderBy(&#39;age&#39;, &#39;asc&#39;)-&gt;get();\n\n\/\/ \u540d\u524d\u9806\u306b\u964d\u9806\u30bd\u30fc\u30c8\n$users = DB::table(&#39;users&#39;)-&gt;orderBy(&#39;name&#39;, &#39;desc&#39;)-&gt;get();<\/code><\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>2.4 \u30b0\u30eb\u30fc\u30d7\u5316\uff08GROUP BY\uff09<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u7279\u5b9a\u306e\u30ab\u30e9\u30e0\u3054\u3068\u306b\u30c7\u30fc\u30bf\u3092\u30b0\u30eb\u30fc\u30d7\u5316\u3059\u308b\u5834\u5408\u306f <code>groupBy()<\/code> \u3092\u4f7f\u7528\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-php\" data-lang=\"PHP\"><code>$users = DB::table(&#39;users&#39;)\n    -&gt;select(&#39;age&#39;, DB::raw(&#39;count(*) as total&#39;))\n    -&gt;groupBy(&#39;age&#39;)\n    -&gt;get();<\/code><\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>2.5 \u30da\u30fc\u30b8\u30cd\u30fc\u30b7\u30e7\u30f3\uff08\u30da\u30fc\u30b8\u5206\u5272\uff09<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u30c7\u30fc\u30bf\u3092\u30da\u30fc\u30b8\u3054\u3068\u306b\u53d6\u5f97\u3059\u308b\u306b\u306f <code>paginate()<\/code> \u3092\u4f7f\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-php\" data-lang=\"PHP\"><code>$users = DB::table(&#39;users&#39;)-&gt;paginate(10);<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u3053\u308c\u306b\u3088\u308a\u30011\u30da\u30fc\u30b8\u306b10\u4ef6\u305a\u3064\u8868\u793a\u3059\u308b\u30c7\u30fc\u30bf\u304c\u53d6\u5f97\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"3_%E5%AE%9F%E8%B7%B5%E7%9A%84%E3%81%AA%E3%82%AF%E3%82%A8%E3%83%AA%E3%81%AE%E4%BE%8B\"><\/span><strong>3. \u5b9f\u8df5\u7684\u306a\u30af\u30a8\u30ea\u306e\u4f8b<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u3053\u3053\u3067\u306f\u3001Laravel\u306eQuery Builder\u3092\u4f7f\u3063\u3066\u3001\u3088\u308a\u5b9f\u8df5\u7684\u306a\u30af\u30a8\u30ea\u3092\u4f5c\u6210\u3059\u308b\u65b9\u6cd5\u3092\u89e3\u8aac\u3057\u307e\u3059\u3002<strong>\u30c6\u30fc\u30d6\u30eb\u306e\u7d50\u5408\uff08JOIN\uff09\u3001\u96c6\u8a08\u95a2\u6570\u3001\u30b5\u30d6\u30af\u30a8\u30ea<\/strong> \u306a\u3069\u3001\u5b9f\u969b\u306e\u958b\u767a\u3067\u5f79\u7acb\u3064\u30c6\u30af\u30cb\u30c3\u30af\u3092\u7d39\u4ecb\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>3.1 \u30c6\u30fc\u30d6\u30eb\u306e\u7d50\u5408\uff08JOIN\uff09<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3067\u306f\u3001\u8907\u6570\u306e\u30c6\u30fc\u30d6\u30eb\u3092\u7d50\u5408\u3057\u3066\u60c5\u5831\u3092\u53d6\u5f97\u3059\u308b\u3053\u3068\u304c\u4e00\u822c\u7684\u3067\u3059\u3002Query Builder\u3067\u306f\u3001<code>join()<\/code> \u3084 <code>leftJoin()<\/code> \u3092\u4f7f\u3063\u3066\u7c21\u5358\u306b\u30c6\u30fc\u30d6\u30eb\u3092\u7d50\u5408\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>INNER JOIN\uff08\u5185\u90e8\u7d50\u5408\uff09<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><code>join()<\/code> \u3092\u4f7f\u3046\u3068\u3001\u6307\u5b9a\u3057\u305f\u30ab\u30e9\u30e0\u304c\u4e00\u81f4\u3059\u308b\u30c7\u30fc\u30bf\u306e\u307f\u53d6\u5f97\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-php\" data-lang=\"PHP\"><code>$orders = DB::table(&#39;orders&#39;)\n    -&gt;join(&#39;users&#39;, &#39;orders.user_id&#39;, &#39;=&#39;, &#39;users.id&#39;)\n    -&gt;select(&#39;orders.*&#39;, &#39;users.name as user_name&#39;)\n    -&gt;get();<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u3053\u306e\u30af\u30a8\u30ea\u306f\u3001<code>orders<\/code> \u30c6\u30fc\u30d6\u30eb\u3068 <code>users<\/code> \u30c6\u30fc\u30d6\u30eb\u3092 <code>user_id<\/code> \u3067\u7d50\u5408\u3057\u3001\u6ce8\u6587\u60c5\u5831\u3068\u30e6\u30fc\u30b6\u30fc\u540d\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>LEFT JOIN\uff08\u5916\u90e8\u7d50\u5408\uff09<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><code>leftJoin()<\/code> \u3092\u4f7f\u3046\u3068\u3001\u7d50\u5408\u5148\u306e\u30c6\u30fc\u30d6\u30eb\u306b\u30c7\u30fc\u30bf\u304c\u306a\u304f\u3066\u3082\u3001\u5143\u306e\u30c6\u30fc\u30d6\u30eb\u306e\u30c7\u30fc\u30bf\u306f\u4fdd\u6301\u3055\u308c\u307e\u3059\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-php\" data-lang=\"PHP\"><code>$orders = DB::table(&#39;orders&#39;)\n    -&gt;leftJoin(&#39;users&#39;, &#39;orders.user_id&#39;, &#39;=&#39;, &#39;users.id&#39;)\n    -&gt;select(&#39;orders.*&#39;, &#39;users.name as user_name&#39;)\n    -&gt;get();<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u30e6\u30fc\u30b6\u30fc\u60c5\u5831\u304c\u306a\u3044\u6ce8\u6587\u30c7\u30fc\u30bf\u3082\u53d6\u5f97\u3057\u305f\u3044\u5834\u5408\u306f\u3001<code>leftJoin()<\/code> \u3092\u4f7f\u7528\u3059\u308b\u3068\u4fbf\u5229\u3067\u3059\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>3.2 \u96c6\u8a08\u95a2\u6570\uff08COUNT, SUM, AVG \u306a\u3069\uff09<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Query Builder\u3067\u306f\u3001SQL\u306e\u96c6\u8a08\u95a2\u6570\u3092\u305d\u306e\u307e\u307e\u5229\u7528\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>\u4ef6\u6570\u3092\u53d6\u5f97\uff08COUNT\uff09<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">\u7279\u5b9a\u306e\u6761\u4ef6\u306b\u5408\u3046\u30ec\u30b3\u30fc\u30c9\u306e\u4ef6\u6570\u3092\u53d6\u5f97\u3059\u308b\u306b\u306f <code>count()<\/code> \u3092\u4f7f\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-php\" data-lang=\"PHP\"><code>$userCount = DB::table(&#39;users&#39;)-&gt;count();<\/code><\/pre><\/div>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>\u5408\u8a08\u3092\u8a08\u7b97\uff08SUM\uff09<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><code>sum()<\/code> \u3092\u4f7f\u3046\u3068\u3001\u6570\u5024\u306e\u5408\u8a08\u5024\u3092\u53d6\u5f97\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-php\" data-lang=\"PHP\"><code>$totalSales = DB::table(&#39;orders&#39;)-&gt;sum(&#39;amount&#39;);<\/code><\/pre><\/div>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>\u5e73\u5747\u3092\u53d6\u5f97\uff08AVG\uff09<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><code>avg()<\/code> \u3092\u4f7f\u3046\u3068\u3001\u5e73\u5747\u5024\u3092\u8a08\u7b97\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-php\" data-lang=\"PHP\"><code>$averageAge = DB::table(&#39;users&#39;)-&gt;avg(&#39;age&#39;);<\/code><\/pre><\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>3.3 \u30b5\u30d6\u30af\u30a8\u30ea\u3092\u4f7f\u3063\u305f\u30c7\u30fc\u30bf\u53d6\u5f97<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u30b5\u30d6\u30af\u30a8\u30ea\u3092\u4f7f\u3046\u3053\u3068\u3067\u3001\u3088\u308a\u8907\u96d1\u306a\u30c7\u30fc\u30bf\u53d6\u5f97\u304c\u53ef\u80fd\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>\u6700\u65b0\u306e\u6ce8\u6587\u3092\u53d6\u5f97\u3059\u308b\u30b5\u30d6\u30af\u30a8\u30ea<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">\u6700\u65b0\u306e\u6ce8\u6587\u3092\u53d6\u5f97\u3059\u308b\u306b\u306f\u3001\u30b5\u30d6\u30af\u30a8\u30ea\u3092 <code>selectSub()<\/code> \u3067\u4f7f\u7528\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-php\" data-lang=\"PHP\"><code>$latestOrders = DB::table(&#39;users&#39;)\n    -&gt;select(&#39;users.id&#39;, &#39;users.name&#39;)\n    -&gt;selectSub(function ($query) {\n        $query-&gt;from(&#39;orders&#39;)\n              -&gt;whereColumn(&#39;orders.user_id&#39;, &#39;users.id&#39;)\n              -&gt;select(&#39;created_at&#39;)\n              -&gt;orderByDesc(&#39;created_at&#39;)\n              -&gt;limit(1);\n    }, &#39;latest_order&#39;)\n    -&gt;get();<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u3053\u306e\u30af\u30a8\u30ea\u3067\u306f\u3001\u5404\u30e6\u30fc\u30b6\u30fc\u306e\u6700\u65b0\u306e\u6ce8\u6587\u65e5\u6642\u3092\u53d6\u5f97\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>\u307e\u3068\u3081<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>JOIN \u3092\u6d3b\u7528<\/strong> \u3057\u3066\u8907\u6570\u306e\u30c6\u30fc\u30d6\u30eb\u3092\u7d50\u5408\u3059\u308b<\/li>\n\n\n\n<li><strong>\u96c6\u8a08\u95a2\u6570\uff08COUNT\u3001SUM\u3001AVG \u306a\u3069\uff09<\/strong> \u3092\u4f7f\u3063\u3066\u7d71\u8a08\u60c5\u5831\u3092\u53d6\u5f97\u3059\u308b<\/li>\n\n\n\n<li><strong>\u30b5\u30d6\u30af\u30a8\u30ea<\/strong> \u3092\u5229\u7528\u3057\u3066\u3001\u3088\u308a\u9ad8\u5ea6\u306a\u30c7\u30fc\u30bf\u53d6\u5f97\u3092\u884c\u3046<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"4_%E3%82%88%E3%81%8F%E3%81%82%E3%82%8B%E3%83%9F%E3%82%B9%E3%81%A8%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%AE%E5%9B%9E%E9%81%BF%E6%96%B9%E6%B3%95\"><\/span><strong>4. \u3088\u304f\u3042\u308b\u30df\u30b9\u3068\u30a8\u30e9\u30fc\u306e\u56de\u907f\u65b9\u6cd5<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Laravel\u306eQuery Builder\u306f\u4fbf\u5229\u3067\u3059\u304c\u3001\u9593\u9055\u3063\u305f\u4f7f\u3044\u65b9\u3092\u3059\u308b\u3068\u610f\u56f3\u3057\u306a\u3044\u7d50\u679c\u306b\u306a\u3063\u305f\u308a\u3001\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u304c\u60aa\u5316\u3057\u305f\u308a\u3059\u308b\u3053\u3068\u304c\u3042\u308a\u307e\u3059\u3002\u3053\u3053\u3067\u306f\u3001<strong>\u3088\u304f\u3042\u308b\u30df\u30b9\u3068\u305d\u306e\u5bfe\u7b56<\/strong> \u3092\u89e3\u8aac\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>4.1 <code>where()<\/code> \u306e\u6761\u4ef6\u30df\u30b9<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><code>where()<\/code> \u3092\u4f7f\u3046\u969b\u3001\u66f8\u304d\u65b9\u3092\u9593\u9055\u3048\u308b\u3068\u6b63\u3057\u304f\u30c7\u30fc\u30bf\u304c\u53d6\u5f97\u3067\u304d\u306a\u3044\u3053\u3068\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>\u914d\u5217\u3092\u4f7f\u3063\u305f <code>where()<\/code> \u306e\u30df\u30b9<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">\u4ee5\u4e0b\u306e\u3088\u3046\u306b <code>where()<\/code> \u3067\u914d\u5217\u3092\u6e21\u3057\u3066\u3057\u307e\u3046\u3068\u3001\u610f\u56f3\u3057\u305f\u52d5\u4f5c\u306b\u306a\u308a\u307e\u305b\u3093\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-php\" data-lang=\"PHP\"><code>\/\/ \u274c NG: \u3053\u308c\u306f\u52d5\u4f5c\u3057\u306a\u3044\n$users = DB::table(&#39;users&#39;)-&gt;where(&#39;id&#39;, [1, 2, 3])-&gt;get();<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u3053\u306e\u5834\u5408\u3001SQL\u3067\u306f <code>id = (1,2,3)<\/code> \u306e\u3088\u3046\u306b\u306a\u3063\u3066\u3057\u307e\u3044\u3001\u69cb\u6587\u30a8\u30e9\u30fc\u306b\u306a\u308a\u307e\u3059\u3002<br>\u2705 <strong>\u6b63\u3057\u3044\u66f8\u304d\u65b9\uff08<code>whereIn()<\/code> \u3092\u4f7f\u7528\uff09<\/strong><\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-php\" data-lang=\"PHP\"><code>$users = DB::table(&#39;users&#39;)-&gt;whereIn(&#39;id&#39;, [1, 2, 3])-&gt;get();<\/code><\/pre><\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>4.2 <code>join()<\/code> \u306e\u30c7\u30fc\u30bf\u91cd\u8907\u30fbNULL\u5024\u554f\u984c<\/strong><\/h3>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>\u7d50\u5408\u3057\u305f\u30c7\u30fc\u30bf\u306e NULL \u5024\u306b\u6ce8\u610f<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><code>leftJoin()<\/code> \u3092\u4f7f\u3046\u3068\u3001\u7d50\u5408\u5148\u306e\u30c6\u30fc\u30d6\u30eb\u306b\u30c7\u30fc\u30bf\u304c\u306a\u3044\u5834\u5408\u3001NULL\u304c\u542b\u307e\u308c\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-php\" data-lang=\"PHP\"><code>$orders = DB::table(&#39;orders&#39;)\n    -&gt;leftJoin(&#39;users&#39;, &#39;orders.user_id&#39;, &#39;=&#39;, &#39;users.id&#39;)\n    -&gt;select(&#39;orders.*&#39;, &#39;users.name as user_name&#39;)\n    -&gt;get();<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u3053\u306e\u5834\u5408\u3001<code>users<\/code> \u30c6\u30fc\u30d6\u30eb\u306b\u8a72\u5f53\u30e6\u30fc\u30b6\u30fc\u304c\u3044\u306a\u3044\u5834\u5408\u3001<code>user_name<\/code> \u304c <code>NULL<\/code> \u306b\u306a\u308a\u307e\u3059\u3002<br>\u2705 <strong>NULL \u5024\u3092\u8003\u616e\u3057\u305f\u5bfe\u7b56<\/strong><\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-php\" data-lang=\"PHP\"><code>$orders = DB::table(&#39;orders&#39;)\n    -&gt;leftJoin(&#39;users&#39;, &#39;orders.user_id&#39;, &#39;=&#39;, &#39;users.id&#39;)\n    -&gt;select(&#39;orders.*&#39;, DB::raw(&quot;COALESCE(users.name, &#39;\u30b2\u30b9\u30c8&#39;) as user_name&quot;))\n    -&gt;get();<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><code>COALESCE()<\/code> \u3092\u4f7f\u3046\u3053\u3068\u3067\u3001NULL \u306e\u5834\u5408\u306f\u30c7\u30d5\u30a9\u30eb\u30c8\u5024\uff08\"\u30b2\u30b9\u30c8\"\uff09\u3092\u8a2d\u5b9a\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>4.3 SQL\u30a4\u30f3\u30b8\u30a7\u30af\u30b7\u30e7\u30f3\u306e\u30ea\u30b9\u30af<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Query Builder\u306f\u30c7\u30d5\u30a9\u30eb\u30c8\u3067SQL\u30a4\u30f3\u30b8\u30a7\u30af\u30b7\u30e7\u30f3\u5bfe\u7b56\u304c\u65bd\u3055\u308c\u3066\u3044\u307e\u3059\u304c\u3001\u751f\u306eSQL\u3092\u4f7f\u3046\u5834\u5408\u306f\u6ce8\u610f\u304c\u5fc5\u8981\u3067\u3059\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>\u274c NG: \u76f4\u63a5SQL\u3092\u57cb\u3081\u8fbc\u3080\uff08\u5371\u967a\uff09<\/strong><\/h4>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-php\" data-lang=\"PHP\"><code>$name = $_GET[&#39;name&#39;]; \/\/ \u30e6\u30fc\u30b6\u30fc\u304b\u3089\u306e\u5165\u529b\n$users = DB::table(&#39;users&#39;)-&gt;whereRaw(&quot;name = &#39;$name&#39;&quot;)-&gt;get();<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u3053\u306e\u30b3\u30fc\u30c9\u3067\u306f\u3001<code>$name<\/code> \u306b\u4e0d\u6b63\u306aSQL\uff08<code>'; DROP TABLE users; --<\/code> \u306a\u3069\uff09\u304c\u5165\u529b\u3055\u308c\u308b\u3068\u3001\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u304c\u7834\u58ca\u3055\u308c\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>\u2705 \u6b63\u3057\u3044\u66f8\u304d\u65b9\uff08\u30d0\u30a4\u30f3\u30c7\u30a3\u30f3\u30b0\u3092\u4f7f\u7528\uff09<\/strong><\/h4>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-php\" data-lang=\"PHP\"><code>$users = DB::table(&#39;users&#39;)-&gt;whereRaw(&quot;name = ?&quot;, [$name])-&gt;get();<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u3053\u306e\u3088\u3046\u306b <code>?<\/code> \u30d7\u30ec\u30fc\u30b9\u30db\u30eb\u30c0\u3092\u4f7f\u3046\u3068\u3001\u5b89\u5168\u306b\u30af\u30a8\u30ea\u3092\u5b9f\u884c\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>4.4 N+1 \u554f\u984c\u3068\u5bfe\u7b56<\/strong><\/h3>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>N+1 \u554f\u984c\u3068\u306f\uff1f<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\"><code>where()<\/code> \u3092\u7e70\u308a\u8fd4\u3057\u4f7f\u3063\u3066\u30c7\u30fc\u30bf\u3092\u53d6\u5f97\u3059\u308b\u3068\u3001\u7121\u99c4\u306a\u30af\u30a8\u30ea\u304c\u5927\u91cf\u306b\u767a\u751f\u3059\u308b\u3053\u3068\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-php\" data-lang=\"PHP\"><code>$users = DB::table(&#39;users&#39;)-&gt;get();\n\nforeach ($users as $user) {\n    $orders = DB::table(&#39;orders&#39;)-&gt;where(&#39;user_id&#39;, $user-&gt;id)-&gt;get();\n}<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u3053\u306e\u5834\u5408\u3001\u30e6\u30fc\u30b6\u30fc\u306e\u6570\u3060\u3051 <code>orders<\/code> \u30c6\u30fc\u30d6\u30eb\u306b\u30af\u30a8\u30ea\u304c\u767a\u884c\u3055\u308c\u308b\u305f\u3081\u3001\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u304c\u60aa\u5316\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>\u2705 \u4e8b\u524d\u306b\u30c7\u30fc\u30bf\u3092\u7d50\u5408\u3057\u3066\u53d6\u5f97<\/strong><\/h4>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-php\" data-lang=\"PHP\"><code>$users = DB::table(&#39;users&#39;)\n    -&gt;leftJoin(&#39;orders&#39;, &#39;users.id&#39;, &#39;=&#39;, &#39;orders.user_id&#39;)\n    -&gt;select(&#39;users.*&#39;, &#39;orders.id as order_id&#39;, &#39;orders.amount&#39;)\n    -&gt;get();<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u3053\u308c\u306b\u3088\u308a\u30011\u56de\u306e\u30af\u30a8\u30ea\u3067\u5fc5\u8981\u306a\u30c7\u30fc\u30bf\u3092\u53d6\u5f97\u3067\u304d\u3001N+1\u554f\u984c\u3092\u56de\u907f\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%E3%81%BE%E3%81%A8%E3%82%81\"><\/span><strong>\u307e\u3068\u3081<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>whereIn() \u3092\u6b63\u3057\u304f\u4f7f\u3046<\/strong>\uff08<code>where('id', [1,2,3])<\/code> \u306fNG\uff09<\/li>\n\n\n\n<li><strong>NULL\u5024\u3092\u8003\u616e\u3057\u3066 <code>COALESCE()<\/code> \u3092\u4f7f\u3046<\/strong><\/li>\n\n\n\n<li><strong>SQL\u30a4\u30f3\u30b8\u30a7\u30af\u30b7\u30e7\u30f3\u5bfe\u7b56\u3068\u3057\u3066 <code>?<\/code> \u3092\u4f7f\u3063\u305f\u30d0\u30a4\u30f3\u30c7\u30a3\u30f3\u30b0\u3092\u3059\u308b<\/strong><\/li>\n\n\n\n<li><strong>N+1\u554f\u984c\u3092\u907f\u3051\u308b\u305f\u3081\u306b JOIN \u3092\u6d3b\u7528\u3059\u308b<\/strong><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u3053\u308c\u3089\u306e\u30dd\u30a4\u30f3\u30c8\u3092\u62bc\u3055\u3048\u3066\u304a\u304f\u3053\u3068\u3067\u3001\u3088\u308a\u5b89\u5168\u3067\u52b9\u7387\u7684\u306aQuery Builder\u306e\u4f7f\u3044\u65b9\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"5_%E3%81%BE%E3%81%A8%E3%82%81\"><\/span><strong>5. \u307e\u3068\u3081<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u672c\u8a18\u4e8b\u3067\u306f\u3001Laravel\u306eQuery Builder\u306e\u57fa\u672c\u7684\u306a\u4f7f\u3044\u65b9\u304b\u3089\u3001\u5b9f\u8df5\u7684\u306a\u30af\u30a8\u30ea\u306e\u8a18\u8ff0\u65b9\u6cd5\u3001\u3055\u3089\u306b\u306f\u3088\u304f\u3042\u308b\u30df\u30b9\u306e\u56de\u907f\u65b9\u6cd5\u307e\u3067\u89e3\u8aac\u3057\u307e\u3057\u305f\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>5.1 Query Builder\u306e\u30e1\u30ea\u30c3\u30c8<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Query Builder\u3092\u4f7f\u3046\u3053\u3068\u3067\u3001\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u30e1\u30ea\u30c3\u30c8\u304c\u3042\u308a\u307e\u3059\u3002<br>\u2705 <strong>SQL\u306b\u8fd1\u3044\u8a18\u8ff0\u304c\u3067\u304d\u308b<\/strong> \u2192 \u67d4\u8edf\u306a\u30af\u30a8\u30ea\u3092\u7c21\u5358\u306b\u4f5c\u6210\u53ef\u80fd<br>\u2705 <strong>Eloquent\u3088\u308a\u8efd\u91cf\u3067\u9ad8\u901f<\/strong> \u2192 \u5927\u91cf\u30c7\u30fc\u30bf\u306e\u51e6\u7406\u306b\u9069\u3057\u3066\u3044\u308b<br>\u2705 <strong>\u5b89\u5168\u6027\u304c\u78ba\u4fdd\u3055\u308c\u3066\u3044\u308b<\/strong> \u2192 \u30d0\u30a4\u30f3\u30c7\u30a3\u30f3\u30b0\u6a5f\u80fd\u3067SQL\u30a4\u30f3\u30b8\u30a7\u30af\u30b7\u30e7\u30f3\u3092\u9632\u6b62<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u4e00\u65b9\u3067\u3001<strong>\u30c7\u30fc\u30bf\u306e\u30ea\u30ec\u30fc\u30b7\u30e7\u30f3\u3092\u6271\u3046\u5834\u5408\u306fEloquent\u306e\u65b9\u304c\u4fbf\u5229<\/strong> \u306a\u306e\u3067\u3001\u9069\u6750\u9069\u6240\u3067\u4f7f\u3044\u5206\u3051\u308b\u306e\u304c\u91cd\u8981\u3067\u3059\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>5.2 Eloquent\u3068Query Builder\u306e\u4f7f\u3044\u5206\u3051<\/strong><\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>\u9805\u76ee<\/th><th>Query Builder<\/th><th>Eloquent<\/th><\/tr><\/thead><tbody><tr><td>\u8a18\u8ff0\u306e\u7c21\u6f54\u3055<\/td><td>SQL\u30e9\u30a4\u30af\u306a\u8a18\u8ff0\u304c\u53ef\u80fd<\/td><td>\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u6307\u5411\u3067\u76f4\u611f\u7684<\/td><\/tr><tr><td>\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9<\/td><td>\u8efd\u91cf\u3067\u9ad8\u901f<\/td><td>\u30e2\u30c7\u30eb\u3092\u5229\u7528\u3059\u308b\u305f\u3081\u30aa\u30fc\u30d0\u30fc\u30d8\u30c3\u30c9\u3042\u308a<\/td><\/tr><tr><td>\u9069\u3057\u305f\u7528\u9014<\/td><td>\u8907\u96d1\u306a\u30af\u30a8\u30ea\u3001\u5927\u91cf\u30c7\u30fc\u30bf\u51e6\u7406<\/td><td>\u30ea\u30ec\u30fc\u30b7\u30e7\u30f3\u3092\u591a\u7528\u3059\u308b\u5834\u9762<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u57fa\u672c\u7684\u306b\u306f\u3001<strong>\u30b7\u30f3\u30d7\u30eb\u306a\u30c7\u30fc\u30bf\u53d6\u5f97\u306fEloquent\u3001\u8907\u96d1\u306a\u30af\u30a8\u30ea\u3084\u5927\u91cf\u30c7\u30fc\u30bf\u306e\u51e6\u7406\u306b\u306fQuery Builder<\/strong> \u3092\u4f7f\u3046\u306e\u304c\u30d9\u30b9\u30c8\u3067\u3059\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>5.3 Laravel\u3067SQL\u3092\u6271\u3046\u30b9\u30ad\u30eb\u3092\u78e8\u3053\u3046\uff01<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Query Builder\u3092\u4f7f\u3044\u3053\u306a\u3059\u3053\u3068\u3067\u3001Laravel\u306e\u30c7\u30fc\u30bf\u64cd\u4f5c\u306e\u5e45\u304c\u5927\u304d\u304f\u5e83\u304c\u308a\u307e\u3059\u3002<br>\u305c\u3072\u5b9f\u969b\u306e\u958b\u767a\u3067\u6d3b\u7528\u3057\u306a\u304c\u3089\u3001<strong>Eloquent\u3068Query Builder\u3092\u9069\u5207\u306b\u4f7f\u3044\u5206\u3051\u308b\u30b9\u30ad\u30eb<\/strong> \u3092\u8eab\u306b\u3064\u3051\u3066\u3044\u304d\u307e\u3057\u3087\u3046\uff01<\/p>\n","protected":false},"excerpt":{"rendered":"<p>1. \u30a4\u30f3\u30c8\u30ed\u30c0\u30af\u30b7\u30e7\u30f3 Laravel\u3067\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u64cd\u4f5c\u3059\u308b\u65b9\u6cd5\u3068\u3057\u3066\u3001Eloquent ORM\u3068Query Builder\u306e2\u3064\u304c\u3042\u308a\u307e\u3059\u3002Eloquent\u306f\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u6307\u5411\u306e\u30a2\u30d7\u30ed\u30fc\u30c1\u3092\u53d6\u308a\u3001\u30e2\u30c7\u30eb\u3092\u901a\u3058\u3066\u30c7\u30fc\u30bf [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":217,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"sns_share_botton_hide":"","vkExUnit_sns_title":"","_vk_print_noindex":"","sitemap_hide":"","_veu_custom_css":"","veu_display_promotion_alert":"common","vkexunit_cta_each_option":"","_lightning_design_setting":{"layout":"default"},"footnotes":""},"categories":[9,6],"tags":[],"class_list":["post-216","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-laravel","category-app_development"],"veu_head_title_object":{"title":"","add_site_title":""},"_links":{"self":[{"href":"https:\/\/hexis.jp\/index.php?rest_route=\/wp\/v2\/posts\/216","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hexis.jp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hexis.jp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hexis.jp\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/hexis.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=216"}],"version-history":[{"count":3,"href":"https:\/\/hexis.jp\/index.php?rest_route=\/wp\/v2\/posts\/216\/revisions"}],"predecessor-version":[{"id":225,"href":"https:\/\/hexis.jp\/index.php?rest_route=\/wp\/v2\/posts\/216\/revisions\/225"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/hexis.jp\/index.php?rest_route=\/wp\/v2\/media\/217"}],"wp:attachment":[{"href":"https:\/\/hexis.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=216"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hexis.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=216"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hexis.jp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=216"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}