{"id":8529,"date":"2020-12-24T09:23:08","date_gmt":"2020-12-24T00:23:08","guid":{"rendered":"https:\/\/www.gesource.jp\/weblog\/?p=8529"},"modified":"2020-12-26T09:36:36","modified_gmt":"2020-12-26T00:36:36","slug":"laravel%e3%81%aeeloquent%e3%81%a7like%e6%a4%9c%e7%b4%a2%e3%81%99%e3%82%8b","status":"publish","type":"post","link":"https:\/\/www.gesource.jp\/weblog\/?p=8529","title":{"rendered":"Laravel\u306eEloquent\u3067Like\u691c\u7d22\u3059\u308b"},"content":{"rendered":"<p>Laravel\u306eEloquent\u3067Like\u691c\u7d22\u3059\u308b\u3068\u304d\u3001\u691c\u7d22\u30ad\u30fc\u30ef\u30fc\u30c9\u3092\u30a8\u30b9\u30b1\u30fc\u30d7\u3057\u306a\u3044\u3068\u3001\u4e88\u671f\u3057\u306a\u3044\u7d50\u679c\u304c\u8fd4\u308b\u3053\u3068\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n<pre><code>\/\/ \u30a8\u30b9\u30b1\u30fc\u30d7\u3057\u306a\u3044\u30b3\u30fc\u30c9\u306e\u4f8b\n$products = Product::where('name', 'like', '%'.$name.'%')-&gt;get();\n<\/code><\/pre>\n<p>products\u30c6\u30fc\u30d6\u30eb\u306b\u306f\u3001\u300c\u30aa\u30ec\u30f3\u30b8100%\u300d\u3068\u300c\u30aa\u30ec\u30f3\u30b8100\u500b\u5206\u300d\u304c\u767b\u9332\u3055\u308c\u3066\u3044\u307e\u3059\u3002<\/p>\n<pre><code>&gt;&gt;&gt; Product::all();\n=&gt; Illuminate\\Database\\Eloquent\\Collection {#4148\n     all: [\n       App\\Product {#3901\n         id: 1,\n         name: \"\u30aa\u30ec\u30f3\u30b8100%\",\n       },\n       App\\Product {#3533\n         id: 2,\n         name: \"\u30aa\u30ec\u30f3\u30b8100\u500b\u5206\",\n       },\n     ],\n   }\n<\/code><\/pre>\n<p>\u30ad\u30fc\u30ef\u30fc\u30c9\u300c100%\u300d\u3067\u691c\u7d22\u3057\u307e\u3059\u3002<\/p>\n<pre><code>&gt;&gt;&gt; $name = '100%';\n=&gt; \"100%\"\n<\/code><\/pre>\n<p>\u30ad\u30fc\u30ef\u30fc\u30c9\u3092\u30a8\u30b9\u30b1\u30fc\u30d7\u305b\u305a\u306b\u691c\u7d22\u3059\u308b\u3068\u3001\u30ad\u30fc\u30ef\u30fc\u30c9\u3092\u542b\u307e\u306a\u3044\u30ec\u30b3\u30fc\u30c9\u3082\u30d2\u30c3\u30c8\u3057\u307e\u3059\u3002<\/p>\n<pre><code>&gt;&gt;&gt; Product::where('name', 'like', '%'.$name.'%')-&gt;get();\n=&gt; Illuminate\\Database\\Eloquent\\Collection {#3218\n     all: [\n       App\\Product {#4151\n         id: 1,\n         name: \"\u30aa\u30ec\u30f3\u30b8100%\",\n       },\n       App\\Product {#4006\n         id: 2,\n         name: \"\u30aa\u30ec\u30f3\u30b8100\u500b\u5206\",\n       },\n     ],\n   }\n<\/code><\/pre>\n<p>\u30ad\u30fc\u30ef\u30fc\u30c9\u3092\u30a8\u30b9\u30b1\u30fc\u30d7\u3059\u308b\u95a2\u6570\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002<\/p>\n<pre><code>&gt;&gt;&gt; function escape_like(string $value, string $char = '\\\\'): string\n... {\n...     return str_replace(\n...         [$char, '%', '_'],\n...         [$char.$char, $char.'%', $char.'_'],\n...         $value\n...     );\n... }\n<\/code><\/pre>\n<p>\u30ad\u30fc\u30ef\u30fc\u30c9\u3092\u30a8\u30b9\u30b1\u30fc\u30d7\u3057\u3066\u691c\u7d22\u3057\u307e\u3059\u3002<\/p>\n<pre><code>&gt;&gt;&gt; Product::where('name', 'like', '%'.escape_like($name).'%')-&gt;get();\n=&gt; Illuminate\\Database\\Eloquent\\Collection {#4165\n     all: [\n       App\\Product {#4170\n         id: 1,\n         name: \"\u30aa\u30ec\u30f3\u30b8100%\",\n       },\n     ],\n   }\n<\/code><\/pre>\n<p>\u6b63\u3057\u3044\u7d50\u679c\u304c\u5f97\u3089\u308c\u307e\u3057\u305f\u3002<\/p>\n<p>\u53c2\u8003\uff1a<a href=\"https:\/\/stackoverflow.com\/questions\/22749182\/laravel-escape-like-clause\">Laravel: Escape \u201cLIKE\u201d clause?<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Laravel\u306eEloquent\u3067Like\u691c\u7d22\u3059\u308b\u3068\u304d\u3001\u691c\u7d22\u30ad\u30fc\u30ef\u30fc\u30c9\u3092\u30a8\u30b9\u30b1\u30fc\u30d7\u3057\u306a\u3044\u3068\u3001\u4e88\u671f\u3057\u306a\u3044\u7d50\u679c\u304c\u8fd4\u308b\u3053\u3068\u304c\u3042\u308a\u307e\u3059\u3002 \/\/ \u30a8\u30b9\u30b1\u30fc\u30d7\u3057\u306a\u3044\u30b3\u30fc\u30c9\u306e\u4f8b $products = Product::where(&#8216; &#8230;<\/p>\n<p><a href=\"https:\/\/www.gesource.jp\/weblog\/?p=8529\" class=\"more-link\">Continue reading &lsquo;Laravel\u306eEloquent\u3067Like\u691c\u7d22\u3059\u308b&rsquo; &raquo;<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_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}},"categories":[25],"tags":[186,60],"class_list":["post-8529","post","type-post","status-publish","format-standard","hentry","category-php","tag-laravel","tag-sql"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.gesource.jp\/weblog\/index.php?rest_route=\/wp\/v2\/posts\/8529","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.gesource.jp\/weblog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.gesource.jp\/weblog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.gesource.jp\/weblog\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.gesource.jp\/weblog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=8529"}],"version-history":[{"count":0,"href":"https:\/\/www.gesource.jp\/weblog\/index.php?rest_route=\/wp\/v2\/posts\/8529\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.gesource.jp\/weblog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=8529"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.gesource.jp\/weblog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=8529"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.gesource.jp\/weblog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=8529"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}