{"id":2063,"date":"2020-10-13T12:39:29","date_gmt":"2020-10-13T03:39:29","guid":{"rendered":"https:\/\/qol-kk.com\/wp2\/?p=2063"},"modified":"2020-10-13T16:26:11","modified_gmt":"2020-10-13T07:26:11","slug":"post-2063","status":"publish","type":"post","link":"https:\/\/qol-kk.com\/wp2\/blog\/2020\/10\/13\/post-2063\/","title":{"rendered":"\u3010PHP(Laravel)\u3011DB\u304b\u3089\u5024\u3092\u62bd\u51fa\u3059\u308bSQL\u6587\u306e\u7a2e\u985e\u3068\u9055\u3044"},"content":{"rendered":"<h2>\u3010PHP(Laravel)\u3011DB\u304b\u3089\u5024\u3092\u62bd\u51fa\u3059\u308bSQL\u6587\u306e\u7a2e\u985e\u3068\u9055\u3044<\/h2>\n<p>\u691c\u7d22\u6d41\u5165\u304c\u3042\u3063\u3066\u8a18\u4e8b\u304c\u8584\u3044\u3082\u306e\u3092\u88dc\u586b\u3057\u3066\u3044\u304f\u6d41\u308c\u306e\u4e2d\u306e1\u3064\u3002<\/p>\n<p>\u4eca\u56de\u306f\u300eLaravel\u00d7SQL\u6587\u300f\u306b\u3064\u3044\u3066\u3067\u3059\u3002<\/p>\n<h3>Laravel\u3067\u306f\u5927\u5225\u3057\u30662\u7a2e\u985e\u306e\u66f8\u304d\u65b9\u304c\u51fa\u6765\u308b<\/h3>\n<div class=\"paperBox\">\n<ol>\n<li>Eloquent\u3067\u66f8\u304f<\/li>\n<li>PHP\u306eSQL\u6587\u3067\u66f8\u304f<\/li>\n<\/ol>\n<\/div>\n<p>\u3069\u3061\u3089\u3082\u3061\u3083\u3093\u3068\u52d5\u304d\u307e\u3059\u3002<br \/>\n\u305f\u3060\u3001\u8272\u3005\u3084\u3063\u3066\u307f\u305f\u7d50\u679cJOIN\u304c\u3042\u308b\u5834\u5408\u306feloquent\u306e\u65b9\u304c\u5727\u5012\u7684\u306b\u901f\u3044\u3067\u3059\u3002<\/p>\n<p>\u7406\u7531\u306fModels\u3067\u66f8\u3044\u305f\u30c6\u30fc\u30d6\u30eb\u306e\u95a2\u9023\u6027\u304c\u4e8b\u524d\u6e96\u5099\u3055\u308c\u3066\u3044\u308b\u304b\u3089\u3067\u3057\u3087\u3046\u3002<br \/>\n\u306a\u306e\u3067\u3001Laravel\u3067\u306fEloquent\u3067\u8a18\u8f09\u3059\u308b\u4e8b\u304c\u30bb\u30aa\u30ea\u30fc\u3068\u306a\u308a\u307e\u3059\u3002<\/p>\n<h3>\u30af\u30a8\u30ea\u30d3\u30eb\u30c0\u3092\u4f7f\u308f\u306a\u3044\u5834\u5408\uff08PHP\u306eSQL\u6587\u3067\u66f8\u304f\uff09<\/h3>\n<pre class=\"lang:default decode:true\">\/\/ select\r\n$results = \\DB::select('select * from users where id = ?', [1[);\r\n\/\/ insert\r\n\\DB::insert('insert into users (id, name) values (?, ?)', [1, 'hoge']);<\/pre>\n<p>\u9055\u3046\u3068\u4e8b\u306f\u6700\u521d\u306e\u547c\u51fa\u3057\u3067DB\u3068\u52d5\u4f5c\u3092\u30b3\u30fc\u30eb\u3059\u308b\u4e8b\u3067\u3059\u3002<br \/>\nDB\u306eSelect\u3092\u4f7f\u3046\u3088\u3068\u5ba3\u8a00\u3057\u3066\u304b\u3089PHP\u5f93\u6765\u306eselect\u6587\u3092\u8a18\u8f09\u3057\u307e\u3059\u3002<br \/>\nJoin\u306a\u3069\u3082\u5f93\u6765\u901a\u308a\u3067\u4f7f\u3044\u307e\u3059\u3002<\/p>\n<p>Eloquent\u3068\u4f75\u7528\u3059\u308b\u3068\u6df7\u4e71\u3057\u3066\u304f\u308b\u306e\u306f\u3010\u30c6\u30fc\u30d6\u30eb\u540d\u3011\u306e\u30b3\u30fc\u30eb\u306e\u4ed5\u65b9\u3002<br \/>\n\\DB\u3092\u4f7f\u3063\u305f\u5834\u5408\u306f\u30c6\u30fc\u30d6\u30eb\u540d\u3092\u305d\u306e\u307e\u307e\u8a18\u8f09\u3057\u307e\u3059\u304c\u3001Eloquent\u3067\u306f\u30e2\u30c7\u30eb\u540d\u3092\u8a18\u8f09\u3057\u307e\u3059\u3002<br \/>\n\u305d\u306e\u70ba\u3001\u4e0a\u306e\u4f8b\u3067\u306f\u30c6\u30fc\u30d6\u30eb\u540d\u304c\u8907\u6570\u5f62(Laravel\u547d\u540d\u898f\u5236\u306b\u3088\u308a)\u306b\u306a\u3063\u3066\u3044\u307e\u3059\u3002<\/p>\n<h3>Eloquent\u306e\u57fa\u672c\u7684\u306a\u66f8\u304d\u65b9<\/h3>\n<pre class=\"lang:default decode:true\">#where\u62bd\u51fa\u306e\u5834\u5408\r\n$array = Model\u540d::where('\u30ab\u30e9\u30e0\u540d',\u5024)-&gt;get();\r\n\r\n#\u5177\u4f53\u4f8b\r\n$array = saledata::where('salesdate',today())-&gt;get();<\/pre>\n<p>\u5909\u6570\u540d\u3092\u66f8\u3044\u3066\u30e2\u30c7\u30eb\u540d\u3068\u62bd\u51fa\u6761\u4ef6\u3092\u8a18\u8f09\u3059\u308b\u3002\u7c21\u5358\u3067\u3059\u3088\u306d\u3002<\/p>\n<h3>Eloquent\u3067Join\u306f\u3069\u3046\u3059\u308b\u306e\u304b<\/h3>\n<p>Join\u306fModel\u306b\u8a18\u8f09\u3057\u307e\u3059\u3002<\/p>\n<p>\u611f\u899a\u3068\u3057\u3066\u306f\u30c7\u30fc\u30bf\u9023\u643a\u306e\u4e8b\u524d\u6e96\u5099\u3068\u3044\u3063\u305f\u611f\u3058\u3067\u3059\u3002<\/p>\n<p>PHP\u3067\u306eJoin\u6587\u306e\u5834\u5408\u3001INNER JOIN(\u5185\u90e8\u7d50\u5408)\/LEFT JOIN(\u5916\u90e8\u7d50\u5408)\/RIGHT JOIN(\u5916\u90e8\u7d50\u5408)\u306a\u3069\u3042\u308a\u307e\u3059\u304c \u3001Model\u306b\u30ea\u30ec\u30fc\u30b7\u30e7\u30f3\u3092\u8a18\u8f09\u3057\u305f\u5834\u5408\u3001\u57fa\u672c\u7684\u306b\u5916\u90e8\u7d50\u5408\u306b\u306a\u308b\u3068\u8003\u3048\u3066\u3044\u3044\u3068\u601d\u3044\u307e\u3059\u3002<\/p>\n<p>\u305d\u306e\u70ba\u3001\u30ea\u30ec\u30fc\u30b7\u30e7\u30f3\u5148\u306e\u30c6\u30fc\u30d6\u30eb\u3067\u62bd\u51fa\u3057\u305f\u6761\u4ef6\u3092\u6301\u305f\u305b\u305f\u3044\u3068\u304d\u306ffunction\u3092\u5229\u7528\u3057\u3066\u62bd\u51fa\u3057\u307e\u3059\u3002<\/p>\n<pre class=\"lang:default decode:true\">$array = saledata::where('salesdate',today())\r\n  -&gt;WhereHas('product',function($search) use($product_id){\r\n    $search-&gt;where('id',product_id);\r\n  })-&gt;get();<\/pre>\n<h3>Model\u3067\u306e\u30ea\u30ec\u30fc\u30b7\u30e7\u30f3\u4e8b\u524d\u6e96\u5099<\/h3>\n<pre class=\"lang:default decode:true\">&lt;?php\r\n\r\nnamespace App\\Models;\r\n\r\nuse Illuminate\\Database\\Eloquent\\Model;\r\nuse Illuminate\\Database\\Eloquent\\SoftDeletes;\r\n\r\nclass Brand extends Model\r\n{\r\n    public function Product()\r\n    {\r\n        return $this-&gt;belongsTo('App\\Models\\Product');\r\n    }\r\n    \r\n\/* \u30d0\u30ea\u30c7\u30fc\u30bf *\/\r\n    protected $guarded =array('id');\r\n\r\n    public static $rules = array(\r\n        'name' =&gt; 'required',\r\n        'kana' =&gt; 'required'\r\n    );\r\nprivate $errors;\r\n \r\n  public function validate($data)\r\n  {\r\n    $v = Validator::make($data, $this-&gt;rules);\r\n \r\n    if ($v-&gt;fails())\r\n    {\r\n      \/\/ \u3053\u306e\u90e8\u5206\u6ce8\u610f\r\n      $this-&gt;errors = $v-&gt;errors();\r\n      return false;\r\n    }\r\n \r\n    return true;\r\n  }\r\n \r\n  public function errors()\r\n  {\r\n    return $this-&gt;errors;\r\n  }\r\n}<\/pre>\n<p>\u57fa\u672c\u7684\u306a\u66f8\u304d\u65b9\u306f\u3053\u3093\u306a\u611f\u3058\u3067\u3059\u3002<br \/>\n\u4e0a\u306e\u4f8b\u306e12\u884c\u76ee\u3010 return $this-&gt;belongsTo('App\\Models\\Product');\u3011<span class=\"markerBlue\"> belongsTo\u00a0<\/span> \u306e\u90e8\u5206\u3092\u5909\u3048\u3066\u3044\u304f\u3053\u3068\u3067\u69d8\u3005\u306a\u30ea\u30ec\u30fc\u30b7\u30e7\u30f3\u306b\u5bfe\u5fdc\u3067\u304d\u307e\u3059\u3002<\/p>\n<h4>\u300e1\u5bfe\u591a\u300f\u30ea\u30ec\u30fc\u30b7\u30e7\u30f3<\/h4>\n<p>\u89aa\u30c6\u30fc\u30d6\u30eb\uff1ahasMany<br \/>\n\u5b50\u30c6\u30fc\u30d6\u30eb\uff1abelongsTo<\/p>\n<h4>\u300e1\u5bfe1\u300f\u30ea\u30ec\u30fc\u30b7\u30e7\u30f3<\/h4>\n<p>\u4e21\u30c6\u30fc\u30d6\u30eb\u5171\u306b\uff1ahasOne<\/p>\n<h4>\u300e\u591a\u5bfe\u591a\u300f\u30ea\u30ec\u30fc\u30b7\u30e7\u30f3<\/h4>\n<p>\u4e2d\u9593\u30c6\u30fc\u30d6\u30eb\u304c\u5fc5\u8981\u306b\u306a\u308a\u307e\u3059\u3002\u8a73\u3057\u304f\u306f\u904e\u53bb\u8a18\u4e8b\u3067\u3002<\/p>\n<div class=\"blog-card\">\n<div class=\"blog-card-body-outer\">\n<div class=\"blog-card-body\">\n<h5 class=\"blog-card-title\">\n\t\t\t\t\t\t\t\t<a href=\"https:\/\/qol-kk.com\/wp2\/blog\/2018\/11\/21\/post-938\/\">Laravel\uff1a\u591a\u5bfe\u591a\u30ea\u30ec\u30fc\u30b7\u30e7\u30f3\u4f5c\u6210\u6642\u306e\u6ce8\u610f\u70b9<\/a><br \/>\n\t\t\t\t\t\t\t<\/h5>\n<p class=\"blog-card-text\">\n\t\t\t\t\t\t\t\tLaravel\u3067\u591a\u5bfe\u591a\u30ea\u30ec\u30fc\u30b7\u30e7\u30f3\u4f5c\u6210\u6642\u306e\u6ce8\u610f\u70b9 Laravel\u3092\u89e6\u308a\u3060\u3057\u3066\u7d041\u304b\u6708\u304c\u7d4c\u3061\u307e\u3057\u305f\u3002 \u305d\u306e\u9593\u306b\u5e38\u6642SSL\u5316\u306e\u70ba\u306eServer\u79fb\u52d5\u304c\u3042\u308a\u6025\u304e\u306e\u4ed5\u4e8b\u3092\u4f59\u5100\u306a\u304f\u3055\u308c\u307e\u3057\u305f\u304c\u3001\u3084\u2026\t\t\t\t\t\t\t<\/p>\n<div class=\"blog-card-site-title\">\n\t\t\t\t\t\t\t<a href=\"https:\/\/qol-kk.com\/wp2\"><br \/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/qol-kk.com\/wp2\/wp-content\/uploads\/2018\/08\/cropped-icon-32x32.png\" width=\"16\" height=\"16\" alt=\"\" ><br \/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\u591a\u5e97\u8217\u5c55\u958bEC\u30b7\u30b9\u30c6\u30e0\u958b\u767a\u65e5\u8a8c\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"blog-card-image-outer\">\n\t\t\t\t\t\t<a href=\"https:\/\/qol-kk.com\/wp2\/blog\/2018\/11\/21\/post-938\/\" class=\"blog-card-image-frame\"><br \/>\n\t\t\t\t\t\t\t<img decoding=\"async\" class=\"blog-card-image-src\" src=\"https:\/\/qol-kk.com\/wp2\/wp-content\/uploads\/2018\/08\/interface3-1024x577.jpg\" alt=\"\"><br \/>\n\t\t\t\t\t\t<\/a>\n\t\t\t\t\t<\/div>\n<\/p><\/div>\n<h3>\u4e8b\u524d\u6e96\u5099\u304c\u6b63\u3057\u3051\u308c\u3070JOIN\u3059\u308b\u5fc5\u8981\u306f\u306a\u3044<\/h3>\n<p>\u30e2\u30c7\u30eb\u3067\u306e\u6307\u793a\u304c\u6b63\u3057\u304f\u3001\u5168\u3066\u7db2\u7f85\u3057\u3066\u3044\u308c\u3070Eloquent\u3067JOIN\u3057\u306a\u304f\u3066\u3082View\u3084Controller\u3067\u30ea\u30ec\u30fc\u30b7\u30e7\u30f3\u5148\u306e\u5024\u3092\u53d6\u5f97\u3059\u308b\u4e8b\u304c\u51fa\u6765\u307e\u3059\u3002<\/p>\n<pre class=\"lang:default decode:true\">#salesdata \u3068 product \u304c\u30ea\u30ec\u30fc\u30b7\u30e7\u30f3\u3055\u308c\u3066\u3044\u308b\u3068\u3057\u3066\r\n#\u4eca\u65e5\u306e\u8ca9\u58f2\u5c65\u6b74\u3092\u53d6\u5f97\u3059\u308b\r\n$array = saledata::where('salesdate',today())-&gt;get();\r\n\r\n#\u4eca\u65e5\u8ca9\u58f2\u3055\u308c\u305f\u5546\u54c1\u306eJAN\u30b3\u30fc\u30c9\u3092\u53d6\u5f97\u3059\u308b\r\nforeach($array as $arr){\r\n  $values[] = $arr-&gt;product-&gt;jan;\r\n}<\/pre>\n<p>\u3053\u3093\u306a\u611f\u3058\u3067\u3010-&gt;(\u30a2\u30ed\u30fc)\u3011\u3092\u4f7f\u3063\u3066\u53d6\u5f97\u3057\u305f\u3044\u60c5\u5831\u3092\u6301\u3064\u30ea\u30ec\u30fc\u30b7\u30e7\u30f3\u30e2\u30c7\u30eb\u540d-\uff1e\u30ab\u30e9\u30e0\u540d\u3092\u6307\u793a\u3059\u308b\u3060\u3051\u3067\u3059\u3002<\/p>\n<h3>Model\u3067\u66f8\u3044\u3066\u3044\u306a\u3044\u30c6\u30fc\u30d6\u30eb\u3068JOIN\u3059\u308b<\/h3>\n<p>Model\u3067\u95a2\u9023\u4ed8\u3051\u3066\u3044\u306a\u3044\u30c6\u30fc\u30d6\u30eb\u3068JOIN\u3059\u308b\u4e8b\u3082\u51fa\u6765\u307e\u3059\u3002<\/p>\n<pre class=\"lang:default decode:true \">$array = saledata::where('salesdate',today())\r\n  -&gt;join('products','products.id','=','saledatas.product_id')\r\n  -&gt;get();<\/pre>\n<h3>\u307e\u3068\u3081<\/h3>\n<p>\u899a\u3048\u3066\u3057\u307e\u3046\u307e\u3067\u306fSelect\u304c\u7121\u3044\u4e8b\u306b\u9055\u548c\u611f\u304c\u3042\u3063\u3066\u300c\u3069\u3053\u304cSQL\u6587\u304b\u308f\u304b\u3089\u306a\u3044\u300d\u306a\u3093\u3066\u601d\u3063\u3066\u307e\u3057\u305f\u304c\u3001\u6163\u308c\u3066\u3057\u307e\u3046\u3068Eloquent\u306f\u8d85\u697d\u3067\u3059\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u3010PHP(Laravel)\u3011DB\u304b\u3089\u5024\u3092\u62bd\u51fa\u3059\u308bSQL\u6587\u306e\u7a2e\u985e\u3068\u9055\u3044 \u691c\u7d22\u6d41\u5165\u304c\u3042\u3063\u3066\u8a18\u4e8b\u304c\u8584\u3044\u3082\u306e\u3092\u88dc\u586b\u3057\u3066\u3044\u304f\u6d41\u308c\u306e\u4e2d\u306e1\u3064\u3002 \u4eca\u56de\u306f\u300eLaravel\u00d7SQL\u6587\u300f\u306b\u3064\u3044\u3066\u3067\u3059\u3002 Laravel\u3067\u306f\u5927\u5225\u3057\u30662\u7a2e\u985e\u306e\u66f8\u304d [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":944,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"sns_share_botton_hide":"","vkExUnit_sns_title":"","_vk_print_noindex":"","sitemap_hide":"","_veu_custom_css":"","veu_display_promotion_alert":"","vkexunit_cta_each_option":"","_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[34],"tags":[422,153,99,98,779,53,778],"class_list":["post-2063","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php-memorandum","tag-eloquent","tag-laravel","tag-mysql","tag-php","tag-where","tag-53","tag-778"],"veu_head_title_object":{"title":"","add_site_title":""},"jetpack_publicize_connections":[],"jetpack-related-posts":[],"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"https:\/\/qol-kk.com\/wp2\/wp-content\/uploads\/2018\/11\/laravel_logo.png","_links":{"self":[{"href":"https:\/\/qol-kk.com\/wp2\/wp-json\/wp\/v2\/posts\/2063","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/qol-kk.com\/wp2\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/qol-kk.com\/wp2\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/qol-kk.com\/wp2\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/qol-kk.com\/wp2\/wp-json\/wp\/v2\/comments?post=2063"}],"version-history":[{"count":0,"href":"https:\/\/qol-kk.com\/wp2\/wp-json\/wp\/v2\/posts\/2063\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/qol-kk.com\/wp2\/wp-json\/wp\/v2\/media\/944"}],"wp:attachment":[{"href":"https:\/\/qol-kk.com\/wp2\/wp-json\/wp\/v2\/media?parent=2063"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/qol-kk.com\/wp2\/wp-json\/wp\/v2\/categories?post=2063"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/qol-kk.com\/wp2\/wp-json\/wp\/v2\/tags?post=2063"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}