{"id":3217,"date":"2025-03-24T08:46:39","date_gmt":"2025-03-23T23:46:39","guid":{"rendered":"https:\/\/dexall.co.jp\/articles\/?p=3217"},"modified":"2025-03-24T08:47:09","modified_gmt":"2025-03-23T23:47:09","slug":"%e3%80%90%e4%bf%9d%e5%ad%98%e7%89%88%e3%80%91laravel-tinker%e3%81%a7%e9%96%8b%e7%99%ba%e5%8a%b9%e7%8e%87%e3%81%8c3%e5%80%8d%e3%81%ab%e3%81%aa%e3%82%8b%ef%bc%81%e5%ae%9f%e8%b7%b5%e7%9a%84%e3%81%aa","status":"publish","type":"post","link":"https:\/\/dexall.co.jp\/articles\/?p=3217","title":{"rendered":"\u3010\u4fdd\u5b58\u7248\u3011Laravel Tinker\u3067\u958b\u767a\u52b9\u7387\u304c3\u500d\u306b\u306a\u308b\uff01\u5b9f\u8df5\u7684\u306a\u6d3b\u7528\u30c6\u30af\u30cb\u30c3\u30af15\u9078"},"content":{"rendered":"\n<div class=\"toc\"><br \/>\n<b>Warning<\/b>:  Undefined array key \"is_admin\" in <b>\/home\/xs392991\/dexall.co.jp\/public_html\/articles\/wp-content\/themes\/sango-theme\/library\/gutenberg\/dist\/classes\/Toc.php<\/b> on line <b>116<\/b><br \/>\n<br \/>\n<b>Warning<\/b>:  Undefined array key \"is_category_top\" in <b>\/home\/xs392991\/dexall.co.jp\/public_html\/articles\/wp-content\/themes\/sango-theme\/library\/gutenberg\/dist\/classes\/Toc.php<\/b> on line <b>121<\/b><br \/>\n<br \/>\n<b>Warning<\/b>:  Undefined array key \"is_top\" in <b>\/home\/xs392991\/dexall.co.jp\/public_html\/articles\/wp-content\/themes\/sango-theme\/library\/gutenberg\/dist\/classes\/Toc.php<\/b> on line <b>128<\/b><br \/>\n    <div id=\"toc_container\" class=\"sgb-toc--bullets js-smooth-scroll\" data-dialog-title=\"\u76ee\u6b21\">\n      <p class=\"toc_title\">\u76ee\u6b21 <\/p>\n      <ul class=\"toc_list\">  <li class=\"first\">    <a href=\"#i-0\">Laravel Tinker\u3068\u306f\uff1f\u77e5\u3063\u3066\u304a\u304f\u3079\u304d\u57fa\u790e\u77e5\u8b58<\/a>    <ul class=\"menu_level_1\">      <li class=\"first\">        <a href=\"#i-1\">Laravel Tinker\u304c\u958b\u767a\u73fe\u5834\u3067\u91cd\u5b9d\u3055\u308c\u308b3\u3064\u306e\u7406\u7531<\/a>      <\/li>      <li class=\"last\">        <a href=\"#i-2\">\u5f93\u6765\u306e\u30c7\u30d0\u30c3\u30b0\u65b9\u6cd5\u3068\u6bd4\u3079\u3066\u306e\u5727\u5012\u7684\u306a\u30e1\u30ea\u30c3\u30c8<\/a>      <\/li>    <\/ul>  <\/li>  <li>    <a href=\"#i-6\">Laravel Tinker\u306e\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u304b\u3089\u8d77\u52d5\u307e\u3067\u306e\u624b\u9806<\/a>    <ul class=\"menu_level_1\">      <li class=\"first\">        <a href=\"#i-7\">\u74b0\u5883\u69cb\u7bc9\u3067\u62bc\u3055\u3048\u308b\u3079\u304d\u91cd\u8981\u30dd\u30a4\u30f3\u30c8<\/a>      <\/li>      <li class=\"last\">        <a href=\"#i-11\">\u57fa\u672c\u7684\u306a\u30b3\u30de\u30f3\u30c9\u3068\u4f7f\u3044\u65b9\u306e\u89e3\u8aac<\/a>      <\/li>    <\/ul>  <\/li>  <li>    <a href=\"#i-18\">\u958b\u767a\u52b9\u7387\u3092\u5287\u7684\u306b\u5411\u4e0a\u3055\u305b\u308bTinker\u306e\u6d3b\u7528\u30c6\u30af\u30cb\u30c3\u30af<\/a>    <ul class=\"menu_level_1\">      <li class=\"first\">        <a href=\"#i-19\">\u30e2\u30c7\u30eb\u306e\u64cd\u4f5c\u3068\u691c\u8a3c\u3092\u77ac\u6642\u306b\u884c\u3046\u65b9\u6cd5<\/a>      <\/li>      <li>        <a href=\"#i-23\">\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u64cd\u4f5c\u3092\u7c21\u5358\u306b\u3053\u306a\u3059\u30b3\u30c4<\/a>      <\/li>      <li class=\"last\">        <a href=\"#i-27\">\u30d5\u30a1\u30b5\u30fc\u30c9\u3092\u4f7f\u3063\u305f\u9ad8\u5ea6\u306a\u64cd\u4f5c\u30c6\u30af\u30cb\u30c3\u30af<\/a>      <\/li>    <\/ul>  <\/li>  <li>    <a href=\"#i-32\">\u5b9f\u8df5\u7684\u306aLaravel Tinker\u30c7\u30d0\u30c3\u30b0\u8853<\/a>    <ul class=\"menu_level_1\">      <li class=\"first\">        <a href=\"#i-33\">\u30a8\u30e9\u30fc\u767a\u751f\u6642\u306e\u539f\u56e0\u7279\u5b9a\u3092\u52b9\u7387\u5316\u3059\u308b\u65b9\u6cd5<\/a>      <\/li>      <li>        <a href=\"#i-37\">\u5909\u6570\u306e\u4e2d\u8eab\u3092\u7d20\u65e9\u304f\u78ba\u8a8d\u3059\u308b\u30c6\u30af\u30cb\u30c3\u30af<\/a>      <\/li>      <li class=\"last\">        <a href=\"#i-41\">\u8907\u96d1\u306a\u30af\u30a8\u30ea\u306e\u30c7\u30d0\u30c3\u30b0\u624b\u6cd5<\/a>      <\/li>    <\/ul>  <\/li>  <li>    <a href=\"#i-46\">Laravel Tinker\u3092\u4f7f\u3063\u305f\u5b9f\u8df5\u7684\u306a\u30e6\u30fc\u30b9\u30b1\u30fc\u30b9<\/a>    <ul class=\"menu_level_1\">      <li class=\"first\">        <a href=\"#i-47\">\u5927\u91cf\u30c7\u30fc\u30bf\u6295\u5165\u6642\u306e\u6d3b\u7528\u65b9\u6cd5<\/a>      <\/li>      <li>        <a href=\"#i-50\">API\u958b\u767a\u6642\u306e\u30ec\u30b9\u30dd\u30f3\u30b9\u30c6\u30b9\u30c8\u624b\u6cd5<\/a>      <\/li>      <li class=\"last\">        <a href=\"#i-54\">\u8a8d\u8a3c\u5468\u308a\u306e\u52d5\u4f5c\u78ba\u8a8d\u30c6\u30af\u30cb\u30c3\u30af<\/a>      <\/li>    <\/ul>  <\/li>  <li>    <a href=\"#i-59\">Laravel Tinker\u306e\u5fdc\u7528\u7684\u306a\u4f7f\u3044\u65b9\u3068Tips<\/a>    <ul class=\"menu_level_1\">      <li class=\"first\">        <a href=\"#i-60\">\u30ab\u30b9\u30bf\u30e0Tinker\u30b3\u30de\u30f3\u30c9\u306e\u4f5c\u6210\u65b9\u6cd5<\/a>      <\/li>      <li>        <a href=\"#i-64\">\u958b\u767a\u30c1\u30fc\u30e0\u3067\u306e\u52b9\u7387\u7684\u306a\u6d3b\u7528\u8853<\/a>      <\/li>      <li class=\"last\">        <a href=\"#i-67\">\u81ea\u52d5\u5316\u30b9\u30af\u30ea\u30d7\u30c8\u3068\u306e\u9023\u643a\u30c6\u30af\u30cb\u30c3\u30af<\/a>      <\/li>    <\/ul>  <\/li>  <li class=\"last\">    <a href=\"#i-72\">\u3088\u304f\u3042\u308b\u30c8\u30e9\u30d6\u30eb\u3068\u89e3\u6c7a\u65b9\u6cd5<\/a>    <ul class=\"menu_level_1\">      <li class=\"first\">        <a href=\"#i-73\">\u74b0\u5883\u5225\u306e\u4e3b\u8981\u306a\u30a8\u30e9\u30fc\u5bfe\u51e6\u6cd5<\/a>      <\/li>      <li>        <a href=\"#i-77\">\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u6700\u9069\u5316\u306e\u30dd\u30a4\u30f3\u30c8<\/a>      <\/li>      <li class=\"last\">        <a href=\"#i-81\">\u3088\u304f\u3042\u308b\u30a8\u30e9\u30fc\u3068\u305d\u306e\u89e3\u6c7a\u65b9\u6cd5<\/a>      <\/li>    <\/ul>  <\/li><\/ul>\n      <a href=\"#\" class=\"sgb-toc-button js-toc-button\" rel=\"nofollow\" data-open-dialog=\"true\"><i class=\"fa fa-list\"><\/i><span class=\"sgb-toc-button__text\">\u76ee\u6b21\u3078<\/span><\/a>\n    <\/div><\/div><h2 class=\"wp-block-heading\" id=\"i-0\">Laravel Tinker\u3068\u306f\uff1f\u77e5\u3063\u3066\u304a\u304f\u3079\u304d\u57fa\u790e\u77e5\u8b58<\/h2>\n\n\n\n<p>Laravel Tinker\u306f\u3001Laravel\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u5bfe\u8a71\u578b\u30b7\u30a7\u30eb\uff08REPL: Read-Eval-Print Loop\uff09\u3068\u3057\u3066\u6a5f\u80fd\u3059\u308b\u5f37\u529b\u306a\u30c4\u30fc\u30eb\u3067\u3059\u3002\u30b3\u30de\u30f3\u30c9\u30e9\u30a4\u30f3\u304b\u3089\u76f4\u63a5\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u30b3\u30fc\u30c9\u3092\u5b9f\u884c\u3057\u3001\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306e\u64cd\u4f5c\u3084\u30e2\u30c7\u30eb\u306e\u691c\u8a3c\u3092\u5373\u5ea7\u306b\u884c\u3046\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-1\">Laravel Tinker\u304c\u958b\u767a\u73fe\u5834\u3067\u91cd\u5b9d\u3055\u308c\u308b3\u3064\u306e\u7406\u7531<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u5373\u5ea7\u306e\u30b3\u30fc\u30c9\u5b9f\u884c\u3068\u691c\u8a3c<\/strong><\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u5168\u6a5f\u80fd\u306b\u30a2\u30af\u30bb\u30b9\u53ef\u80fd<\/li>\n\n\n\n<li>\u5909\u66f4\u3092\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306b\u6c38\u7d9a\u5316\u305b\u305a\u306b\u30c6\u30b9\u30c8\u53ef\u80fd<\/li>\n\n\n\n<li>\u30b3\u30fc\u30c9\u306e\u52d5\u4f5c\u3092\u77ac\u6642\u306b\u78ba\u8a8d\u3067\u304d\u308b<\/li>\n<\/ul>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ \u30e2\u30c7\u30eb\u306e\u4f5c\u6210\u3068\u691c\u8a3c\n$user = new App\\Models\\User;\n$user-&gt;name = '\u30c6\u30b9\u30c8\u30e6\u30fc\u30b6\u30fc';\n$user-&gt;email = 'test@example.com';\n\/\/ \u30d0\u30ea\u30c7\u30fc\u30b7\u30e7\u30f3\u30eb\u30fc\u30eb\u306e\u30c6\u30b9\u30c8\n$user-&gt;validate(); \/\/ \u30d0\u30ea\u30c7\u30fc\u30b7\u30e7\u30f3\u30eb\u30fc\u30eb\u306b\u9055\u53cd\u304c\u306a\u3044\u304b\u3059\u3050\u306b\u78ba\u8a8d\u53ef\u80fd<\/pre>\n\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li><strong>\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u64cd\u4f5c\u306e\u7c21\u7d20\u5316<\/strong><\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Eloquent\u30e2\u30c7\u30eb\u3092\u4f7f\u7528\u3057\u305f\u76f4\u611f\u7684\u306a\u30c7\u30fc\u30bf\u64cd\u4f5c<\/li>\n\n\n\n<li>\u8907\u96d1\u306a\u30af\u30a8\u30ea\u306e\u30c6\u30b9\u30c8\u304c\u5bb9\u6613<\/li>\n\n\n\n<li>\u30ea\u30ec\u30fc\u30b7\u30e7\u30f3\u30b7\u30c3\u30d7\u306e\u52d5\u4f5c\u78ba\u8a8d\u304c\u7c21\u5358<\/li>\n<\/ul>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ \u30ea\u30ec\u30fc\u30b7\u30e7\u30f3\u30b7\u30c3\u30d7\u306e\u78ba\u8a8d\n$user = App\\Models\\User::first();\n$user-&gt;posts; \/\/ \u30e6\u30fc\u30b6\u30fc\u306e\u6295\u7a3f\u3092\u5373\u5ea7\u306b\u78ba\u8a8d\n\n\/\/ \u8907\u96d1\u306a\u30af\u30a8\u30ea\u306e\u30c6\u30b9\u30c8\n$activeUsers = App\\Models\\User::whereHas('posts', function($query) {\n    $query-&gt;where('created_at', '&gt;=', now()-&gt;subDays(30));\n})-&gt;get();<\/pre>\n\n\n\n<ol start=\"3\" class=\"wp-block-list\">\n<li><strong>\u958b\u767a\u30d5\u30ed\u30fc\u306e\u52b9\u7387\u5316<\/strong><\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u30d6\u30e9\u30a6\u30b6\u3067\u306e\u78ba\u8a8d\u304c\u4e0d\u8981\u306a\u4f5c\u696d\u306e\u77ed\u7e2e<\/li>\n\n\n\n<li>\u30d0\u30c3\u30c1\u51e6\u7406\u3084\u30b3\u30de\u30f3\u30c9\u306e\u30c7\u30d0\u30c3\u30b0\u304c\u5bb9\u6613<\/li>\n\n\n\n<li>API\u30ec\u30b9\u30dd\u30f3\u30b9\u306e\u7d20\u65e9\u3044\u78ba\u8a8d<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-2\">\u5f93\u6765\u306e\u30c7\u30d0\u30c3\u30b0\u65b9\u6cd5\u3068\u6bd4\u3079\u3066\u306e\u5727\u5012\u7684\u306a\u30e1\u30ea\u30c3\u30c8<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-3\">1. \u958b\u767a\u6642\u9593\u306e\u5927\u5e45\u306a\u77ed\u7e2e<\/h4>\n\n\n<div id=\"id-5156160e-3d8d-4437-b76b-48641e221bd4\">\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>\u5f93\u6765\u306e\u65b9\u6cd5<\/th><th>Tinker\u3092\u4f7f\u7528\u3057\u305f\u5834\u5408<\/th><\/tr><\/thead><tbody><tr><td>\u30d6\u30e9\u30a6\u30b6\u3067\u306e\u52d5\u4f5c\u78ba\u8a8d\u304c\u5fc5\u8981<\/td><td>\u30b3\u30de\u30f3\u30c9\u30e9\u30a4\u30f3\u3067\u5373\u5ea7\u306b\u78ba\u8a8d\u53ef\u80fd<\/td><\/tr><tr><td>\u30c6\u30b9\u30c8\u30b3\u30fc\u30c9\u306e\u4f5c\u6210\u304c\u5fc5\u8981<\/td><td>\u76f4\u63a5\u30b3\u30fc\u30c9\u3092\u5b9f\u884c\u3057\u3066\u691c\u8a3c\u53ef\u80fd<\/td><\/tr><tr><td>\u30c7\u30d0\u30c3\u30b0\u7528\u30b3\u30fc\u30c9\u306e\u8ffd\u52a0\u304c\u5fc5\u8981<\/td><td>\u305d\u306e\u5834\u3067\u30b3\u30fc\u30c9\u3092\u5b9f\u884c\u3057\u3066\u78ba\u8a8d\u53ef\u80fd<\/td><\/tr><\/tbody><\/table><\/figure>\n<\/div>\n\n\n<h4 class=\"wp-block-heading\" id=\"i-4\">2. \u3088\u308a\u6df1\u3044\u7406\u89e3\u3068\u5b66\u7fd2\u306e\u4fc3\u9032<\/h4>\n\n\n\n<p>Tinker\u3092\u4f7f\u7528\u3059\u308b\u3053\u3068\u3067\u3001Laravel\u306e\u6a5f\u80fd\u3084\u4ed5\u7d44\u307f\u3092\u3088\u308a\u6df1\u304f\u7406\u89e3\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u30e2\u30c7\u30eb\u306e\u30ea\u30ec\u30fc\u30b7\u30e7\u30f3\u30b7\u30c3\u30d7\u306e\u52d5\u4f5c\u3092\u5b9f\u969b\u306b\u78ba\u8a8d<\/li>\n\n\n\n<li>\u30af\u30a8\u30ea\u30d3\u30eb\u30c0\u306e\u6319\u52d5\u3092\u5373\u5ea7\u306b\u691c\u8a3c<\/li>\n\n\n\n<li>\u30d5\u30a1\u30b5\u30fc\u30c9\u3084\u30d8\u30eb\u30d1\u30fc\u95a2\u6570\u306e\u4f7f\u3044\u65b9\u3092\u5b9f\u8df5\u7684\u306b\u5b66\u7fd2<\/li>\n<\/ul>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ \u30b3\u30ec\u30af\u30b7\u30e7\u30f3\u30e1\u30bd\u30c3\u30c9\u306e\u52d5\u4f5c\u78ba\u8a8d\n$result = collect([1, 2, 3, 4, 5])\n    -&gt;filter(fn($num) =&gt; $num % 2 === 0)\n    -&gt;map(fn($num) =&gt; $num * 2);\n\/\/ \u7d50\u679c: [4, 8]\n\n\/\/ \u30d8\u30eb\u30d1\u30fc\u95a2\u6570\u306e\u4f7f\u7528\u4f8b\n$str = Str::slug('Laravel Tinker \u5165\u9580');\n\/\/ \u7d50\u679c: 'laravel-tinker-\u5165\u9580'<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-5\">3. \u30c1\u30fc\u30e0\u958b\u767a\u3067\u306e\u6d3b\u7528<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u65b0\u6a5f\u80fd\u306e\u52d5\u4f5c\u78ba\u8a8d\u3092\u7d20\u65e9\u304f\u884c\u3048\u308b<\/li>\n\n\n\n<li>\u30c1\u30fc\u30e0\u30e1\u30f3\u30d0\u30fc\u3068\u306e\u30b3\u30fc\u30c9\u5171\u6709\u304c\u5bb9\u6613<\/li>\n\n\n\n<li>\u672c\u756a\u74b0\u5883\u306e\u554f\u984c\u3092\u7d20\u65e9\u304f\u691c\u8a3c\u53ef\u80fd<\/li>\n<\/ul>\n\n\n\n<p>Tinker\u306fLaravel\u306e\u958b\u767a\u306b\u304a\u3044\u3066\u5fc5\u9808\u306e\u30c4\u30fc\u30eb\u3068\u8a00\u3048\u307e\u3059\u3002\u6b21\u306e\u30bb\u30af\u30b7\u30e7\u30f3\u3067\u306f\u3001Tinker\u306e\u5177\u4f53\u7684\u306a\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u65b9\u6cd5\u3068\u57fa\u672c\u7684\u306a\u4f7f\u3044\u65b9\u306b\u3064\u3044\u3066\u8a73\u3057\u304f\u89e3\u8aac\u3057\u3066\u3044\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"i-6\">Laravel Tinker\u306e\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u304b\u3089\u8d77\u52d5\u307e\u3067\u306e\u624b\u9806<\/h2>\n\n\n\n<p>Laravel Tinker\u306f\u901a\u5e38\u3001\u65b0\u3057\u3044Laravel\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306b\u6700\u521d\u304b\u3089\u542b\u307e\u308c\u3066\u3044\u307e\u3059\u304c\u3001\u4e07\u304c\u4e00\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3055\u308c\u3066\u3044\u306a\u3044\u5834\u5408\u306f\u3001\u4ee5\u4e0b\u306e\u624b\u9806\u3067\u7c21\u5358\u306b\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-7\">\u74b0\u5883\u69cb\u7bc9\u3067\u62bc\u3055\u3048\u308b\u3079\u304d\u91cd\u8981\u30dd\u30a4\u30f3\u30c8<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-8\">1. \u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u624b\u9806<\/h4>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"># Composer\u3092\u4f7f\u7528\u3057\u3066Tinker\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\ncomposer require laravel\/tinker\n\n# \u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u3092\u516c\u958b\uff08\u30aa\u30d7\u30b7\u30e7\u30f3\uff09\nphp artisan vendor:publish --provider=\"Laravel\\Tinker\\TinkerServiceProvider\"<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-9\">2. \u74b0\u5883\u5225\u306e\u6ce8\u610f\u70b9<\/h4>\n\n\n\n<p><strong>Docker\u74b0\u5883\u3067\u306e\u5229\u7528<\/strong><\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"># Docker\u30b3\u30f3\u30c6\u30ca\u5185\u3067Tinker\u3092\u5b9f\u884c\ndocker-compose exec app php artisan tinker\n\n# \u307e\u305f\u306f\u3001alias\u3092\u8a2d\u5b9a\u3057\u3066\u7c21\u7565\u5316\n# ~\/.bashrc\u3084~\/.zshrc\u306b\u8ffd\u52a0\nalias sail='[ -f sail ] &amp;&amp; bash sail || bash vendor\/bin\/sail'\nsail tinker<\/pre>\n\n\n\n<p><strong>\u672c\u756a\u74b0\u5883\u3067\u306e\u5229\u7528<\/strong><\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"># \u672c\u756a\u74b0\u5883\u5c02\u7528\u306e\u8a2d\u5b9a\nAPP_ENV=production php artisan tinker --no-interaction<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-10\">3. \u91cd\u8981\u306a\u8a2d\u5b9a\u9805\u76ee<\/h4>\n\n\n\n<p><code>config\/tinker.php<\/code>\u306e\u4e3b\u8981\u306a\u8a2d\u5b9a\u30aa\u30d7\u30b7\u30e7\u30f3\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">return [\n    \/\/ Tinker\u3067\u4f7f\u7528\u3067\u304d\u306a\u3044\u30af\u30e9\u30b9\u3092\u6307\u5b9a\n    'dont_alias' =&gt; [\n        'App\\Nova',\n    ],\n\n    \/\/ \u30b3\u30de\u30f3\u30c9\u5c65\u6b74\u306e\u4fdd\u5b58\u5148\n    'command_history_path' =&gt; storage_path('tinker_history'),\n\n    \/\/ \u81ea\u52d5\u8aad\u307f\u8fbc\u307f\u3059\u308b\u30b5\u30fc\u30d3\u30b9\u30d7\u30ed\u30d0\u30a4\u30c0\n    'providers' =&gt; [\n        \/\/ App\\Providers\\CustomServiceProvider::class,\n    ],\n];<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-11\">\u57fa\u672c\u7684\u306a\u30b3\u30de\u30f3\u30c9\u3068\u4f7f\u3044\u65b9\u306e\u89e3\u8aac<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-12\">1. \u8d77\u52d5\u3068\u7d42\u4e86<\/h4>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"># Tinker\u306e\u8d77\u52d5\nphp artisan tinker\n\n# \u7d42\u4e86\u65b9\u6cd5\n&gt;&gt;&gt; exit     # \u307e\u305f\u306f\n&gt;&gt;&gt; quit     # \u307e\u305f\u306f\n&gt;&gt;&gt; Ctrl + D<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-13\">2. \u57fa\u672c\u7684\u306a\u64cd\u4f5c\u65b9\u6cd5<\/h4>\n\n\n\n<p><strong>\u5909\u6570\u306e\u4f7f\u7528<\/strong><\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&gt;&gt;&gt; $name = \"Laravel\"\n&gt;&gt;&gt; echo $name\n\/\/ \u51fa\u529b: Laravel\n\n\/\/ \u5909\u6570\u306e\u578b\u3092\u78ba\u8a8d\n&gt;&gt;&gt; gettype($name)\n\/\/ \u51fa\u529b: \"string\"<\/pre>\n\n\n\n<p><strong>\u914d\u5217\u64cd\u4f5c<\/strong><\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&gt;&gt;&gt; $array = [1, 2, 3]\n&gt;&gt;&gt; collect($array)-&gt;sum()\n\/\/ \u51fa\u529b: 6<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-14\">3. \u4fbf\u5229\u306a\u30b7\u30e7\u30fc\u30c8\u30ab\u30c3\u30c8<\/h4>\n\n\n<div id=\"id-6a163caf-7826-4f6d-b5d9-07a637cdbde0\">\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>\u30b7\u30e7\u30fc\u30c8\u30ab\u30c3\u30c8<\/th><th>\u6a5f\u80fd<\/th><\/tr><\/thead><tbody><tr><td>Ctrl + R<\/td><td>\u30b3\u30de\u30f3\u30c9\u5c65\u6b74\u306e\u691c\u7d22<\/td><\/tr><tr><td>Ctrl + L<\/td><td>\u753b\u9762\u306e\u30af\u30ea\u30a2<\/td><\/tr><tr><td>Ctrl + A<\/td><td>\u884c\u306e\u5148\u982d\u306b\u79fb\u52d5<\/td><\/tr><tr><td>Ctrl + E<\/td><td>\u884c\u306e\u672b\u5c3e\u306b\u79fb\u52d5<\/td><\/tr><tr><td>Ctrl + W<\/td><td>\u5358\u8a9e\u3092\u524a\u9664<\/td><\/tr><\/tbody><\/table><\/figure>\n<\/div>\n\n\n<h4 class=\"wp-block-heading\" id=\"i-15\">4. \u30b3\u30de\u30f3\u30c9\u5c65\u6b74\u306e\u6d3b\u7528<\/h4>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"># \u524d\u306e\u30b3\u30de\u30f3\u30c9\u3092\u8868\u793a\n&gt;&gt;&gt; \u2191\u30ad\u30fc\n\n# \u30b3\u30de\u30f3\u30c9\u5c65\u6b74\u306e\u691c\u7d22\n&gt;&gt;&gt; Ctrl + R<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-16\">5. \u30de\u30eb\u30c1\u30e9\u30a4\u30f3\u5165\u529b<\/h4>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&gt;&gt;&gt; $result = DB::table('users')\n... -&gt;where('active', true)\n... -&gt;get();<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-17\">\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u306e\u30c8\u30e9\u30d6\u30eb\u30b7\u30e5\u30fc\u30c6\u30a3\u30f3\u30b0<\/h4>\n\n\n\n<p>\u4e00\u822c\u7684\u306a\u554f\u984c\u3068\u89e3\u6c7a\u65b9\u6cd5\uff1a<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Composer\u306e\u30e1\u30e2\u30ea\u4e0d\u8db3\u30a8\u30e9\u30fc<\/strong><\/li>\n<\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">   COMPOSER_MEMORY_LIMIT=-1 composer require laravel\/tinker<\/pre>\n\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li><strong>\u6a29\u9650\u306e\u554f\u984c<\/strong><\/li>\n<\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">   # \u30b9\u30c8\u30ec\u30fc\u30b8\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306e\u6a29\u9650\u3092\u9069\u5207\u306b\u8a2d\u5b9a\n   chmod -R 775 storage\n   chown -R $USER:www-data storage<\/pre>\n\n\n\n<ol start=\"3\" class=\"wp-block-list\">\n<li><strong>autoload.php\u304c\u898b\u3064\u304b\u3089\u306a\u3044\u5834\u5408<\/strong><\/li>\n<\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">   composer dump-autoload<\/pre>\n\n\n\n<p>\u3053\u308c\u3089\u306e\u57fa\u672c\u7684\u306a\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u3068\u64cd\u4f5c\u65b9\u6cd5\u3092\u62bc\u3055\u3048\u308b\u3053\u3068\u3067\u3001Tinker\u3092\u52b9\u679c\u7684\u306b\u6d3b\u7528\u3059\u308b\u6e96\u5099\u304c\u6574\u3044\u307e\u3059\u3002\u6b21\u306e\u30bb\u30af\u30b7\u30e7\u30f3\u3067\u306f\u3001\u3088\u308a\u5b9f\u8df5\u7684\u306a\u6d3b\u7528\u30c6\u30af\u30cb\u30c3\u30af\u306b\u3064\u3044\u3066\u89e3\u8aac\u3057\u3066\u3044\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"i-18\">\u958b\u767a\u52b9\u7387\u3092\u5287\u7684\u306b\u5411\u4e0a\u3055\u305b\u308bTinker\u306e\u6d3b\u7528\u30c6\u30af\u30cb\u30c3\u30af<\/h2>\n\n\n\n<p>Tinker\u3092\u4f7f\u3044\u3053\u306a\u3059\u3053\u3068\u3067\u3001\u958b\u767a\u52b9\u7387\u3092\u5927\u5e45\u306b\u5411\u4e0a\u3055\u305b\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u3053\u3053\u3067\u306f\u3001\u5b9f\u52d9\u3067\u7279\u306b\u6709\u7528\u306a\u6d3b\u7528\u30c6\u30af\u30cb\u30c3\u30af\u3092\u7d39\u4ecb\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-19\">\u30e2\u30c7\u30eb\u306e\u64cd\u4f5c\u3068\u691c\u8a3c\u3092\u77ac\u6642\u306b\u884c\u3046\u65b9\u6cd5<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-20\">1. \u30e2\u30c7\u30eb\u306e\u4f5c\u6210\u3068\u691c\u8a3c<\/h4>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ \u30d5\u30a1\u30af\u30c8\u30ea\u30fc\u3092\u4f7f\u7528\u3057\u305f\u30c6\u30b9\u30c8\u30c7\u30fc\u30bf\u306e\u4f5c\u6210\n&gt;&gt;&gt; $user = User::factory()-&gt;make();\n&gt;&gt;&gt; $user-&gt;toArray();  \/\/ \u5c5e\u6027\u306e\u78ba\u8a8d\n\n\/\/ \u30d0\u30ea\u30c7\u30fc\u30b7\u30e7\u30f3\u306e\u5373\u5ea7\u306e\u78ba\u8a8d\n&gt;&gt;&gt; $validator = Validator::make($user-&gt;toArray(), [\n...     'email' =&gt; 'required|email|unique:users',\n...     'name' =&gt; 'required|min:3'\n... ]);\n&gt;&gt;&gt; $validator-&gt;fails();  \/\/ \u30d0\u30ea\u30c7\u30fc\u30b7\u30e7\u30f3\u7d50\u679c\u306e\u78ba\u8a8d<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-21\">2. \u30ea\u30ec\u30fc\u30b7\u30e7\u30f3\u30b7\u30c3\u30d7\u306e\u52d5\u4f5c\u78ba\u8a8d<\/h4>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ Eager\u30ed\u30fc\u30c7\u30a3\u30f3\u30b0\u306e\u52d5\u4f5c\u78ba\u8a8d\n&gt;&gt;&gt; $user = User::with(['posts', 'comments'])-&gt;first();\n&gt;&gt;&gt; $user-&gt;posts-&gt;count();  \/\/ \u95a2\u9023\u4ed8\u3051\u3089\u308c\u305f\u6295\u7a3f\u6570\u306e\u78ba\u8a8d\n\n\/\/ \u30ea\u30ec\u30fc\u30b7\u30e7\u30f3\u30b7\u30c3\u30d7\u306e\u52d5\u7684\u306a\u8ffd\u52a0\n&gt;&gt;&gt; $user-&gt;load('orders.products');  \/\/ \u5f8c\u304b\u3089\u30ea\u30ec\u30fc\u30b7\u30e7\u30f3\u3092\u30ed\u30fc\u30c9<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-22\">3. \u30e2\u30c7\u30eb\u30a4\u30d9\u30f3\u30c8\u306e\u30c6\u30b9\u30c8<\/h4>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ \u30a4\u30d9\u30f3\u30c8\u30ea\u30b9\u30ca\u30fc\u306e\u78ba\u8a8d\n&gt;&gt;&gt; Event::fake();\n&gt;&gt;&gt; $user = User::create(['name' =&gt; '\u30c6\u30b9\u30c8\u592a\u90ce', 'email' =&gt; 'test@example.com']);\n&gt;&gt;&gt; Event::assertDispatched(UserCreated::class);<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-23\">\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u64cd\u4f5c\u3092\u7c21\u5358\u306b\u3053\u306a\u3059\u30b3\u30c4<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-24\">1. \u8907\u96d1\u306a\u30af\u30a8\u30ea\u306e\u30c6\u30b9\u30c8<\/h4>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ \u30af\u30a8\u30ea\u30d3\u30eb\u30c0\u306e\u7d50\u679c\u3092\u78ba\u8a8d\n&gt;&gt;&gt; DB::enableQueryLog();  \/\/ \u30af\u30a8\u30ea\u30ed\u30b0\u3092\u6709\u52b9\u5316\n&gt;&gt;&gt; $users = User::whereHas('posts', function($query) {\n...     $query-&gt;where('published_at', '&gt;=', now()-&gt;subDays(7));\n... })-&gt;get();\n&gt;&gt;&gt; DB::getQueryLog();  \/\/ \u5b9f\u884c\u3055\u308c\u305fSQL\u306e\u78ba\u8a8d\n\n\/\/ \u751f\u306eSQL\u306e\u5b9f\u884c\n&gt;&gt;&gt; DB::select('SELECT * FROM users WHERE id = ?', [1]);<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-25\">2. \u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u306e\u6d3b\u7528<\/h4>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ \u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u5185\u3067\u306e\u30c6\u30b9\u30c8\n&gt;&gt;&gt; DB::beginTransaction();\n&gt;&gt;&gt; try {\n...     $user-&gt;update(['balance' =&gt; 1000]);\n...     $order-&gt;save();\n...     DB::commit();\n... } catch (\\Exception $e) {\n...     DB::rollBack();\n...     throw $e;\n... }<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-26\">3. \u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u30b7\u30fc\u30c7\u30a3\u30f3\u30b0\u306e\u30c6\u30b9\u30c8<\/h4>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ \u30b7\u30fc\u30c0\u30fc\u306e\u52d5\u4f5c\u78ba\u8a8d\n&gt;&gt;&gt; (new UserSeeder)-&gt;run();\n&gt;&gt;&gt; User::count();  \/\/ \u30b7\u30fc\u30c7\u30a3\u30f3\u30b0\u5f8c\u306e\u30ec\u30b3\u30fc\u30c9\u6570\u78ba\u8a8d<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-27\">\u30d5\u30a1\u30b5\u30fc\u30c9\u3092\u4f7f\u3063\u305f\u9ad8\u5ea6\u306a\u64cd\u4f5c\u30c6\u30af\u30cb\u30c3\u30af<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-28\">1. \u30ad\u30e3\u30c3\u30b7\u30e5\u64cd\u4f5c<\/h4>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ \u30ad\u30e3\u30c3\u30b7\u30e5\u306e\u64cd\u4f5c\u78ba\u8a8d\n&gt;&gt;&gt; Cache::put('key', 'value', now()-&gt;addMinutes(5));\n&gt;&gt;&gt; Cache::get('key');\n&gt;&gt;&gt; Cache::has('key');\n&gt;&gt;&gt; Cache::forget('key');<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-29\">2. \u30d5\u30a1\u30a4\u30eb\u30b7\u30b9\u30c6\u30e0\u306e\u64cd\u4f5c<\/h4>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ \u30b9\u30c8\u30ec\u30fc\u30b8\u306e\u64cd\u4f5c\n&gt;&gt;&gt; Storage::put('test.txt', 'Hello World');\n&gt;&gt;&gt; Storage::get('test.txt');\n&gt;&gt;&gt; Storage::exists('test.txt');\n&gt;&gt;&gt; Storage::delete('test.txt');<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-30\">3. \u30ad\u30e5\u30fc\u306e\u64cd\u4f5c<\/h4>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ \u30ad\u30e5\u30fc\u306e\u52d5\u4f5c\u78ba\u8a8d\n&gt;&gt;&gt; Queue::fake();\n&gt;&gt;&gt; dispatch(new ProcessPodcast($podcast));\n&gt;&gt;&gt; Queue::assertPushed(ProcessPodcast::class);<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-31\">\u5b9f\u8df5\u7684\u306a\u30c6\u30af\u30cb\u30c3\u30af\u96c6<\/h4>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u30b3\u30ec\u30af\u30b7\u30e7\u30f3\u306e\u64cd\u4f5c<\/strong><\/li>\n<\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ \u30b3\u30ec\u30af\u30b7\u30e7\u30f3\u30e1\u30bd\u30c3\u30c9\u306e\u6d3b\u7528\n&gt;&gt;&gt; $users = User::all()-&gt;groupBy('role')\n...     -&gt;map(fn($group) =&gt; $group-&gt;count());\n\n\/\/ \u8907\u96d1\u306a\u96c6\u8a08\n&gt;&gt;&gt; $orders = Order::all()-&gt;pipe(function($collection) {\n...     return [\n...         'total' =&gt; $collection-&gt;sum('amount'),\n...         'average' =&gt; $collection-&gt;avg('amount'),\n...         'count' =&gt; $collection-&gt;count()\n...     ];\n... });<\/pre>\n\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li><strong>\u30e2\u30c7\u30eb\u30d5\u30a1\u30af\u30c8\u30ea\u30fc\u306e\u9ad8\u5ea6\u306a\u4f7f\u7528<\/strong><\/li>\n<\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ \u95a2\u9023\u30e2\u30c7\u30eb\u306e\u540c\u6642\u751f\u6210\n&gt;&gt;&gt; $user = User::factory()\n...     -&gt;has(Post::factory()-&gt;count(3))\n...     -&gt;has(Comment::factory()-&gt;count(5))\n...     -&gt;create();\n\n\/\/ \u30d5\u30a1\u30af\u30c8\u30ea\u30fc\u30b9\u30c6\u30fc\u30c8\u306e\u6d3b\u7528\n&gt;&gt;&gt; $admin = User::factory()-&gt;admin()-&gt;create();<\/pre>\n\n\n\n<ol start=\"3\" class=\"wp-block-list\">\n<li><strong>\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u6700\u9069\u5316\u306e\u30c6\u30b9\u30c8<\/strong><\/li>\n<\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ N+1\u554f\u984c\u306e\u691c\u51fa\n&gt;&gt;&gt; DB::enableQueryLog();\n&gt;&gt;&gt; $users = User::all();\n&gt;&gt;&gt; foreach ($users as $user) {\n...     $user-&gt;posts;\n... }\n&gt;&gt;&gt; count(DB::getQueryLog());  \/\/ \u5b9f\u884c\u3055\u308c\u305f\u30af\u30a8\u30ea\u6570\u306e\u78ba\u8a8d<\/pre>\n\n\n\n<p>\u3053\u308c\u3089\u306e\u30c6\u30af\u30cb\u30c3\u30af\u3092\u6d3b\u7528\u3059\u308b\u3053\u3068\u3067\u3001\u958b\u767a\u52b9\u7387\u304c\u5927\u5e45\u306b\u5411\u4e0a\u3057\u3001\u3088\u308a\u4fe1\u983c\u6027\u306e\u9ad8\u3044\u30b3\u30fc\u30c9\u3092\u66f8\u304f\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u6b21\u306e\u30bb\u30af\u30b7\u30e7\u30f3\u3067\u306f\u3001\u3053\u308c\u3089\u306e\u30c6\u30af\u30cb\u30c3\u30af\u3092\u6d3b\u7528\u3057\u305f\u5b9f\u8df5\u7684\u306a\u30c7\u30d0\u30c3\u30b0\u65b9\u6cd5\u306b\u3064\u3044\u3066\u89e3\u8aac\u3057\u3066\u3044\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"i-32\">\u5b9f\u8df5\u7684\u306aLaravel Tinker\u30c7\u30d0\u30c3\u30b0\u8853<\/h2>\n\n\n\n<p>Tinker\u3092\u4f7f\u7528\u3057\u305f\u30c7\u30d0\u30c3\u30b0\u306f\u3001\u958b\u767a\u30d7\u30ed\u30bb\u30b9\u3092\u5927\u5e45\u306b\u52b9\u7387\u5316\u3067\u304d\u307e\u3059\u3002\u3053\u3053\u3067\u306f\u3001\u5b9f\u8df5\u7684\u306a\u30c7\u30d0\u30c3\u30b0\u30c6\u30af\u30cb\u30c3\u30af\u3092\u8a73\u3057\u304f\u89e3\u8aac\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-33\">\u30a8\u30e9\u30fc\u767a\u751f\u6642\u306e\u539f\u56e0\u7279\u5b9a\u3092\u52b9\u7387\u5316\u3059\u308b\u65b9\u6cd5<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-34\">1. \u30a8\u30e9\u30fc\u30c8\u30ec\u30fc\u30b9\u306e\u6d3b\u7528<\/h4>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ try-catch\u3092\u4f7f\u7528\u3057\u305f\u30a8\u30e9\u30fc\u30cf\u30f3\u30c9\u30ea\u30f3\u30b0\n&gt;&gt;&gt; try {\n...     $result = User::findOrFail(999);\n... } catch (\\Exception $e) {\n...     dump($e-&gt;getMessage());\n...     dump($e-&gt;getTrace());\n... }\n\n\/\/ \u30c7\u30d0\u30c3\u30b0\u30d0\u30c3\u30af\u30c8\u30ec\u30fc\u30b9\u306e\u8868\u793a\n&gt;&gt;&gt; debug_backtrace();<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-35\">2. \u30af\u30a8\u30ea\u30a8\u30e9\u30fc\u306e\u8abf\u67fb<\/h4>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ \u30af\u30a8\u30ea\u30ed\u30b0\u306e\u6709\u52b9\u5316\u3068\u30a8\u30e9\u30fc\u78ba\u8a8d\n&gt;&gt;&gt; DB::enableQueryLog();\n&gt;&gt;&gt; try {\n...     $users = DB::table('non_existent_table')-&gt;get();\n... } catch (\\Exception $e) {\n...     dump(DB::getQueryLog());  \/\/ \u5b9f\u884c\u3055\u308c\u305f\u30af\u30a8\u30ea\u306e\u78ba\u8a8d\n...     dump($e-&gt;getMessage());   \/\/ \u30a8\u30e9\u30fc\u30e1\u30c3\u30bb\u30fc\u30b8\u306e\u78ba\u8a8d\n... }<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-36\">3. \u30e2\u30c7\u30eb\u306e\u30a8\u30e9\u30fc\u691c\u8a3c<\/h4>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ \u30d0\u30ea\u30c7\u30fc\u30b7\u30e7\u30f3\u30a8\u30e9\u30fc\u306e\u8a73\u7d30\u78ba\u8a8d\n&gt;&gt;&gt; $user = new User;\n&gt;&gt;&gt; $user-&gt;email = 'invalid-email';\n&gt;&gt;&gt; $validator = Validator::make(\n...     $user-&gt;toArray(),\n...     ['email' =&gt; 'required|email']\n... );\n&gt;&gt;&gt; dump($validator-&gt;errors()-&gt;toArray());<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-37\">\u5909\u6570\u306e\u4e2d\u8eab\u3092\u7d20\u65e9\u304f\u78ba\u8a8d\u3059\u308b\u30c6\u30af\u30cb\u30c3\u30af<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-38\">1. \u9ad8\u5ea6\u306a\u30c7\u30d0\u30c3\u30b0\u95a2\u6570\u306e\u6d3b\u7528<\/h4>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ dd()\u95a2\u6570\u306e\u4ee3\u66ff\u624b\u6cd5\n&gt;&gt;&gt; $user = User::first();\n&gt;&gt;&gt; dump($user-&gt;toArray());      \/\/ \u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306e\u5185\u5bb9\u78ba\u8a8d\n&gt;&gt;&gt; var_dump(get_class($user));  \/\/ \u30af\u30e9\u30b9\u540d\u306e\u78ba\u8a8d\n\n\/\/ \u30b3\u30ec\u30af\u30b7\u30e7\u30f3\u306e\u30c7\u30d0\u30c3\u30b0\n&gt;&gt;&gt; $users = User::all();\n&gt;&gt;&gt; $users-&gt;dump();              \/\/ \u9014\u4e2d\u7d4c\u904e\u306e\u78ba\u8a8d\n&gt;&gt;&gt; $users-&gt;dd();               \/\/ \u51e6\u7406\u3092\u4e2d\u65ad\u3057\u3066\u78ba\u8a8d<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-39\">2. \u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306e\u8a73\u7d30\u5206\u6790<\/h4>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ \u30ea\u30d5\u30ec\u30af\u30b7\u30e7\u30f3\u306e\u6d3b\u7528\n&gt;&gt;&gt; $reflection = new \\ReflectionClass($user);\n&gt;&gt;&gt; dump($reflection-&gt;getMethods());  \/\/ \u5229\u7528\u53ef\u80fd\u306a\u30e1\u30bd\u30c3\u30c9\u4e00\u89a7\n&gt;&gt;&gt; dump($reflection-&gt;getProperties()); \/\/ \u30d7\u30ed\u30d1\u30c6\u30a3\u4e00\u89a7\n\n\/\/ \u975e\u516c\u958b\u30d7\u30ed\u30d1\u30c6\u30a3\u306e\u78ba\u8a8d\n&gt;&gt;&gt; $property = $reflection-&gt;getProperty('hidden');\n&gt;&gt;&gt; $property-&gt;setAccessible(true);\n&gt;&gt;&gt; dump($property-&gt;getValue($user));<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-40\">3. \u6761\u4ef6\u4ed8\u304d\u30c7\u30d0\u30c3\u30b0<\/h4>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ \u7279\u5b9a\u6761\u4ef6\u4e0b\u3067\u306e\u30c7\u30d0\u30c3\u30b0\n&gt;&gt;&gt; $users-&gt;each(function ($user) {\n...     if ($user-&gt;email === 'test@example.com') {\n...         dump($user-&gt;toArray());\n...     }\n... });<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-41\">\u8907\u96d1\u306a\u30af\u30a8\u30ea\u306e\u30c7\u30d0\u30c3\u30b0\u624b\u6cd5<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-42\">1. \u30af\u30a8\u30ea\u30d3\u30eb\u30c0\u306e\u30c7\u30d0\u30c3\u30b0<\/h4>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ \u751f\u6210\u3055\u308c\u308bSQL\u306e\u78ba\u8a8d\n&gt;&gt;&gt; $query = User::where('active', true)\n...     -&gt;whereHas('posts', function($q) {\n...         $q-&gt;where('published', true);\n...     });\n&gt;&gt;&gt; dump($query-&gt;toSql());           \/\/ SQL\u30af\u30a8\u30ea\u306e\u78ba\u8a8d\n&gt;&gt;&gt; dump($query-&gt;getBindings());     \/\/ \u30d0\u30a4\u30f3\u30c9\u30d1\u30e9\u30e1\u30fc\u30bf\u306e\u78ba\u8a8d<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-43\">2. \u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u5206\u6790<\/h4>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ \u30af\u30a8\u30ea\u5b9f\u884c\u6642\u9593\u306e\u8a08\u6e2c\n&gt;&gt;&gt; $start = microtime(true);\n&gt;&gt;&gt; $result = User::with('posts')-&gt;get();\n&gt;&gt;&gt; $time = microtime(true) - $start;\n&gt;&gt;&gt; dump(\"\u5b9f\u884c\u6642\u9593: {$time} \u79d2\");\n\n\/\/ \u30e1\u30e2\u30ea\u4f7f\u7528\u91cf\u306e\u78ba\u8a8d\n&gt;&gt;&gt; $memoryBefore = memory_get_usage();\n&gt;&gt;&gt; $result = User::all();\n&gt;&gt;&gt; $memoryAfter = memory_get_usage();\n&gt;&gt;&gt; dump(\"\u30e1\u30e2\u30ea\u4f7f\u7528\u91cf: \" . ($memoryAfter - $memoryBefore) . \" bytes\");<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-44\">3. \u6700\u9069\u5316\u306e\u305f\u3081\u306e\u30c7\u30d0\u30c3\u30b0\u30c6\u30af\u30cb\u30c3\u30af<\/h4>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ N+1\u554f\u984c\u306e\u691c\u51fa\n&gt;&gt;&gt; DB::enableQueryLog();\n&gt;&gt;&gt; $posts = Post::all();\n&gt;&gt;&gt; foreach ($posts as $post) {\n...     $post-&gt;author;  \/\/ \u30ea\u30ec\u30fc\u30b7\u30e7\u30f3\u547c\u3073\u51fa\u3057\n... }\n&gt;&gt;&gt; dump(count(DB::getQueryLog()) . \" \u30af\u30a8\u30ea\u304c\u5b9f\u884c\u3055\u308c\u307e\u3057\u305f\");\n\n\/\/ \u30af\u30a8\u30ea\u306e\u6700\u9069\u5316\n&gt;&gt;&gt; DB::enableQueryLog();\n&gt;&gt;&gt; $posts = Post::with('author')-&gt;get();\n&gt;&gt;&gt; foreach ($posts as $post) {\n...     $post-&gt;author;\n... }\n&gt;&gt;&gt; dump(count(DB::getQueryLog()) . \" \u30af\u30a8\u30ea\u304c\u5b9f\u884c\u3055\u308c\u307e\u3057\u305f\");<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-45\">\u30c7\u30d0\u30c3\u30b0\u306e\u30d9\u30b9\u30c8\u30d7\u30e9\u30af\u30c6\u30a3\u30b9<\/h4>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u6bb5\u968e\u7684\u306a\u30c7\u30d0\u30c3\u30b0<\/strong><\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u6700\u5c0f\u5358\u4f4d\u3067\u306e\u30c6\u30b9\u30c8<\/li>\n\n\n\n<li>1\u3064\u305a\u3064\u306e\u6a5f\u80fd\u78ba\u8a8d<\/li>\n\n\n\n<li>\u30a8\u30e9\u30fc\u306e\u5207\u308a\u5206\u3051<\/li>\n<\/ul>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u30c7\u30d0\u30c3\u30b0\u60c5\u5831\u306e\u6574\u7406<\/strong><\/li>\n<\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">   \/\/ \u30c7\u30d0\u30c3\u30b0\u60c5\u5831\u306e\u69cb\u9020\u5316\n   &gt;&gt;&gt; $debug = [\n   ...     'query' =&gt; DB::getQueryLog(),\n   ...     'memory' =&gt; memory_get_usage(),\n   ...     'time' =&gt; microtime(true)\n   ... ];\n   &gt;&gt;&gt; dump($debug);<\/pre>\n\n\n\n<ol start=\"3\" class=\"wp-block-list\">\n<li><strong>\u30a8\u30e9\u30fc\u30cf\u30f3\u30c9\u30ea\u30f3\u30b0\u306e\u30c6\u30b9\u30c8<\/strong><\/li>\n<\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">   \/\/ \u4f8b\u5916\u51e6\u7406\u306e\u691c\u8a3c\n   &gt;&gt;&gt; $handler = app(\\App\\Exceptions\\Handler::class);\n   &gt;&gt;&gt; try {\n   ...     throw new \\App\\Exceptions\\CustomException('\u30c6\u30b9\u30c8\u30a8\u30e9\u30fc');\n   ... } catch (\\Exception $e) {\n   ...     dump($handler-&gt;render(request(), $e));\n   ... }<\/pre>\n\n\n\n<p>\u3053\u308c\u3089\u306e\u30c7\u30d0\u30c3\u30b0\u30c6\u30af\u30cb\u30c3\u30af\u3092\u6d3b\u7528\u3059\u308b\u3053\u3068\u3067\u3001\u554f\u984c\u306e\u65e9\u671f\u767a\u898b\u3068\u89e3\u6c7a\u304c\u53ef\u80fd\u306b\u306a\u308a\u307e\u3059\u3002\u6b21\u306e\u30bb\u30af\u30b7\u30e7\u30f3\u3067\u306f\u3001\u3053\u308c\u3089\u306e\u77e5\u8b58\u3092\u6d3b\u304b\u3057\u305f\u5b9f\u8df5\u7684\u306a\u30e6\u30fc\u30b9\u30b1\u30fc\u30b9\u306b\u3064\u3044\u3066\u89e3\u8aac\u3057\u3066\u3044\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"i-46\">Laravel Tinker\u3092\u4f7f\u3063\u305f\u5b9f\u8df5\u7684\u306a\u30e6\u30fc\u30b9\u30b1\u30fc\u30b9<\/h2>\n\n\n\n<p>\u5b9f\u969b\u306e\u958b\u767a\u73fe\u5834\u3067Tinker\u304c\u3069\u306e\u3088\u3046\u306b\u6d3b\u7528\u3067\u304d\u308b\u306e\u304b\u3001\u5177\u4f53\u7684\u306a\u30e6\u30fc\u30b9\u30b1\u30fc\u30b9\u3092\u901a\u3058\u3066\u89e3\u8aac\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-47\">\u5927\u91cf\u30c7\u30fc\u30bf\u6295\u5165\u6642\u306e\u6d3b\u7528\u65b9\u6cd5<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-48\">1. CSV\u30c7\u30fc\u30bf\u306e\u30a4\u30f3\u30dd\u30fc\u30c8<\/h4>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ CSV\u30d5\u30a1\u30a4\u30eb\u304b\u3089\u306e\u30c7\u30fc\u30bf\u8aad\u307f\u8fbc\u307f\u3068\u6295\u5165\n&gt;&gt;&gt; $csv = array_map('str_getcsv', file(storage_path('app\/users.csv')));\n&gt;&gt;&gt; $headers = array_shift($csv);\n&gt;&gt;&gt; collect($csv)-&gt;each(function ($row) use ($headers) {\n...     $userData = array_combine($headers, $row);\n...     User::create($userData);\n... });\n\n\/\/ \u30d0\u30c3\u30c1\u51e6\u7406\u3067\u306e\u52b9\u7387\u7684\u306a\u30c7\u30fc\u30bf\u6295\u5165\n&gt;&gt;&gt; collect($csv)-&gt;chunk(1000)-&gt;each(function ($chunk) use ($headers) {\n...     DB::transaction(function () use ($chunk, $headers) {\n...         $chunk-&gt;each(function ($row) use ($headers) {\n...             $userData = array_combine($headers, $row);\n...             User::create($userData);\n...         });\n...     });\n... });<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-49\">2. \u30c6\u30b9\u30c8\u30c7\u30fc\u30bf\u306e\u751f\u6210<\/h4>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ \u30d5\u30a1\u30af\u30c8\u30ea\u30fc\u3092\u4f7f\u7528\u3057\u305f\u5927\u91cf\u30c7\u30fc\u30bf\u751f\u6210\n&gt;&gt;&gt; User::factory()\n...     -&gt;has(Post::factory()-&gt;count(3))\n...     -&gt;count(100)\n...     -&gt;create();\n\n\/\/ \u30ab\u30b9\u30bf\u30de\u30a4\u30ba\u3057\u305f\u30c6\u30b9\u30c8\u30c7\u30fc\u30bf\u306e\u751f\u6210\n&gt;&gt;&gt; $users = collect(range(1, 50))-&gt;map(function ($index) {\n...     return [\n...         'name' =&gt; \"\u30c6\u30b9\u30c8\u30e6\u30fc\u30b6\u30fc{$index}\",\n...         'email' =&gt; \"test{$index}@example.com\",\n...         'created_at' =&gt; now()-&gt;subDays(rand(1, 30))\n...     ];\n... });\n&gt;&gt;&gt; DB::table('users')-&gt;insert($users-&gt;toArray());<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-50\">API\u958b\u767a\u6642\u306e\u30ec\u30b9\u30dd\u30f3\u30b9\u30c6\u30b9\u30c8\u624b\u6cd5<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-51\">1. API\u30ea\u30af\u30a8\u30b9\u30c8\u306e\u30b7\u30df\u30e5\u30ec\u30fc\u30b7\u30e7\u30f3<\/h4>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ API\u30ec\u30b9\u30dd\u30f3\u30b9\u306e\u691c\u8a3c\n&gt;&gt;&gt; $response = app()-&gt;handle(Request::create('\/api\/users', 'GET'));\n&gt;&gt;&gt; dump(json_decode($response-&gt;getContent(), true));\n\n\/\/ \u8a8d\u8a3c\u4ed8\u304dAPI\u306e\u30c6\u30b9\u30c8\n&gt;&gt;&gt; $token = auth()-&gt;login($user);\n&gt;&gt;&gt; $response = app()-&gt;handle(\n...     Request::create('\/api\/protected', 'GET')\n...         -&gt;headers-&gt;set('Authorization', \"Bearer {$token}\")\n... );<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-52\">2. API\u30ea\u30bd\u30fc\u30b9\u306e\u30c6\u30b9\u30c8<\/h4>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ API\u30ea\u30bd\u30fc\u30b9\u306e\u52d5\u4f5c\u78ba\u8a8d\n&gt;&gt;&gt; $user = User::first();\n&gt;&gt;&gt; dump(new UserResource($user));\n\n\/\/ \u30b3\u30ec\u30af\u30b7\u30e7\u30f3\u30ea\u30bd\u30fc\u30b9\u306e\u30c6\u30b9\u30c8\n&gt;&gt;&gt; $users = User::paginate(10);\n&gt;&gt;&gt; dump(UserResource::collection($users));<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-53\">3. API\u30d0\u30ea\u30c7\u30fc\u30b7\u30e7\u30f3\u306e\u30c6\u30b9\u30c8<\/h4>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ \u30ea\u30af\u30a8\u30b9\u30c8\u30d0\u30ea\u30c7\u30fc\u30b7\u30e7\u30f3\u306e\u78ba\u8a8d\n&gt;&gt;&gt; $request = new App\\Http\\Requests\\UserStoreRequest();\n&gt;&gt;&gt; $request-&gt;replace([\n...     'name' =&gt; 'Test User',\n...     'email' =&gt; 'invalid-email'\n... ]);\n&gt;&gt;&gt; dump($request-&gt;authorize());\n&gt;&gt;&gt; dump($request-&gt;rules());\n&gt;&gt;&gt; $validator = Validator::make($request-&gt;all(), $request-&gt;rules());\n&gt;&gt;&gt; dump($validator-&gt;errors()-&gt;toArray());<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-54\">\u8a8d\u8a3c\u5468\u308a\u306e\u52d5\u4f5c\u78ba\u8a8d\u30c6\u30af\u30cb\u30c3\u30af<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-55\">1. \u8a8d\u8a3c\u72b6\u614b\u306e\u30c6\u30b9\u30c8<\/h4>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ \u30e6\u30fc\u30b6\u30fc\u8a8d\u8a3c\u306e\u30c6\u30b9\u30c8\n&gt;&gt;&gt; $user = User::first();\n&gt;&gt;&gt; auth()-&gt;login($user);\n&gt;&gt;&gt; dump(auth()-&gt;check());\n&gt;&gt;&gt; dump(auth()-&gt;user());\n\n\/\/ \u6a29\u9650\u30c1\u30a7\u30c3\u30af\u306e\u78ba\u8a8d\n&gt;&gt;&gt; dump($user-&gt;can('edit-posts'));\n&gt;&gt;&gt; dump($user-&gt;cannot('delete-users'));<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-56\">2. \u30d1\u30b9\u30ef\u30fc\u30c9\u30ea\u30bb\u30c3\u30c8\u306e\u691c\u8a3c<\/h4>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ \u30d1\u30b9\u30ef\u30fc\u30c9\u30ea\u30bb\u30c3\u30c8\u30c8\u30fc\u30af\u30f3\u306e\u751f\u6210\u3068\u78ba\u8a8d\n&gt;&gt;&gt; $token = Password::createToken($user);\n&gt;&gt;&gt; dump(Password::tokenExists($user, $token));\n\n\/\/ \u30d1\u30b9\u30ef\u30fc\u30c9\u30ea\u30bb\u30c3\u30c8\u306e\u5b9f\u884c\n&gt;&gt;&gt; $status = Password::reset(\n...     ['email' =&gt; $user-&gt;email, 'token' =&gt; $token, 'password' =&gt; 'new-password'],\n...     function ($user, $password) {\n...         $user-&gt;password = Hash::make($password);\n...         $user-&gt;save();\n...     }\n... );\n&gt;&gt;&gt; dump(Password::PASSWORD_RESET === $status);<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-57\">3. \u30bb\u30c3\u30b7\u30e7\u30f3\u64cd\u4f5c\u306e\u78ba\u8a8d<\/h4>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ \u30bb\u30c3\u30b7\u30e7\u30f3\u306e\u64cd\u4f5c\n&gt;&gt;&gt; Session::put('key', 'value');\n&gt;&gt;&gt; dump(Session::get('key'));\n&gt;&gt;&gt; dump(Session::all());\n&gt;&gt;&gt; Session::forget('key');<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-58\">\u5b9f\u8df5\u7684\u306a\u6d3b\u7528\u30b7\u30ca\u30ea\u30aa<\/h4>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u30c7\u30fc\u30bf\u79fb\u884c\u4f5c\u696d<\/strong><\/li>\n<\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ \u53e4\u3044\u30c7\u30fc\u30bf\u306e\u5909\u63db\u3068\u79fb\u884c\n&gt;&gt;&gt; $oldUsers = DB::connection('old_db')\n...     -&gt;table('users')\n...     -&gt;get();\n&gt;&gt;&gt; $oldUsers-&gt;each(function ($oldUser) {\n...     User::create([\n...         'name' =&gt; $oldUser-&gt;full_name,\n...         'email' =&gt; $oldUser-&gt;email_address,\n...         'created_at' =&gt; Carbon::parse($oldUser-&gt;created_date)\n...     ]);\n... });<\/pre>\n\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li><strong>\u30d0\u30c3\u30c1\u51e6\u7406\u306e\u30c6\u30b9\u30c8<\/strong><\/li>\n<\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ \u30d0\u30c3\u30c1\u30b8\u30e7\u30d6\u306e\u5b9f\u884c\u30c6\u30b9\u30c8\n&gt;&gt;&gt; $job = new ProcessUserData($user);\n&gt;&gt;&gt; dispatch($job);\n&gt;&gt;&gt; Bus::dispatchNow($job);  \/\/ \u5373\u6642\u5b9f\u884c<\/pre>\n\n\n\n<ol start=\"3\" class=\"wp-block-list\">\n<li><strong>\u30b7\u30b9\u30c6\u30e0\u72b6\u614b\u306e\u8a3a\u65ad<\/strong><\/li>\n<\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ \u30b7\u30b9\u30c6\u30e0\u306e\u5065\u5168\u6027\u30c1\u30a7\u30c3\u30af\n&gt;&gt;&gt; $stats = [\n...     'users' =&gt; User::count(),\n...     'posts' =&gt; Post::count(),\n...     'disk_usage' =&gt; Storage::disk('local')-&gt;size('logs'),\n...     'cache_status' =&gt; Cache::get('system_status'),\n...     'queue_size' =&gt; Queue::size('default')\n... ];\n&gt;&gt;&gt; dump($stats);<\/pre>\n\n\n\n<p>\u3053\u308c\u3089\u306e\u30e6\u30fc\u30b9\u30b1\u30fc\u30b9\u3092\u7406\u89e3\u3057\u5b9f\u8df5\u3059\u308b\u3053\u3068\u3067\u3001\u958b\u767a\u4f5c\u696d\u306e\u52b9\u7387\u3092\u5927\u5e45\u306b\u5411\u4e0a\u3055\u305b\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u6b21\u306e\u30bb\u30af\u30b7\u30e7\u30f3\u3067\u306f\u3001\u3055\u3089\u306b\u9ad8\u5ea6\u306a\u4f7f\u3044\u65b9\u3068Tips\u306b\u3064\u3044\u3066\u89e3\u8aac\u3057\u3066\u3044\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"i-59\">Laravel Tinker\u306e\u5fdc\u7528\u7684\u306a\u4f7f\u3044\u65b9\u3068Tips<\/h2>\n\n\n\n<p>Tinker\u3092\u3088\u308a\u52b9\u679c\u7684\u306b\u6d3b\u7528\u3059\u308b\u305f\u3081\u306e\u5fdc\u7528\u7684\u306a\u4f7f\u3044\u65b9\u3068\u3001\u30c1\u30fc\u30e0\u958b\u767a\u3067\u306e\u5b9f\u8df5\u7684\u306a\u30c6\u30af\u30cb\u30c3\u30af\u3092\u7d39\u4ecb\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-60\">\u30ab\u30b9\u30bf\u30e0Tinker\u30b3\u30de\u30f3\u30c9\u306e\u4f5c\u6210\u65b9\u6cd5<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-61\">1. \u30ab\u30b9\u30bf\u30e0\u30de\u30af\u30ed\u306e\u5b9a\u7fa9<\/h4>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ Tinker\u3092\u8d77\u52d5\u3059\u308b\u524d\u306b\u5b9f\u884c\u3055\u308c\u308b\u521d\u671f\u5316\u30d5\u30a1\u30a4\u30eb\u306e\u4f5c\u6210\n\/\/ config\/tinker.php \u306b\u4ee5\u4e0b\u3092\u8ffd\u52a0\n'alias' =&gt; [\n    'MyHelper' =&gt; App\\Helpers\\CustomHelper::class,\n],\n\n\/\/ app\/Providers\/AppServiceProvider.php\npublic function boot()\n{\n    \\Laravel\\Tinker\\TinkerServiceProvider::macro('customDump', function ($value) {\n        dump([\n            'type' =&gt; gettype($value),\n            'value' =&gt; $value,\n            'memory' =&gt; memory_get_usage(),\n            'time' =&gt; now()-&gt;toDateTimeString()\n        ]);\n    });\n}<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-62\">2. \u30ab\u30b9\u30bf\u30e0\u95a2\u6570\u306e\u5b9f\u88c5<\/h4>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ .tinker_functions.php \u3092\u4f5c\u6210\n&lt;?php\n\nif (!function_exists('analyze')) {\n    function analyze($model) {\n        return [\n            'attributes' =&gt; $model-&gt;getAttributes(),\n            'relations' =&gt; $model-&gt;getRelations(),\n            'changes' =&gt; $model-&gt;getDirty(),\n            'timestamps' =&gt; [\n                'created' =&gt; $model-&gt;created_at,\n                'updated' =&gt; $model-&gt;updated_at\n            ]\n        ];\n    }\n}\n\n\/\/ Tinker\u3067\u306e\u4f7f\u7528\n&gt;&gt;&gt; $user = User::first();\n&gt;&gt;&gt; analyze($user);<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-63\">3. \u30ab\u30b9\u30bf\u30e0\u30b3\u30de\u30f3\u30c9\u306e\u767b\u9332<\/h4>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ app\/Console\/Commands\/CustomTinkerCommand.php\nclass CustomTinkerCommand extends Command\n{\n    protected $signature = 'tinker:custom';\n\n    public function handle()\n    {\n        $this-&gt;info('\u30ab\u30b9\u30bf\u30e0Tinker\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u4e2d...');\n        eval(\\Psy\\sh());\n    }\n}<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-64\">\u958b\u767a\u30c1\u30fc\u30e0\u3067\u306e\u52b9\u7387\u7684\u306a\u6d3b\u7528\u8853<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-65\">1. \u5171\u6709\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u306e\u4f5c\u6210<\/h4>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ .tinker_team_config.php\nreturn [\n    \/\/ \u30c1\u30fc\u30e0\u5171\u901a\u306e\u4fbf\u5229\u95a2\u6570\n    'helpers' =&gt; [\n        'checkHealth' =&gt; function () {\n            return [\n                'database' =&gt; DB::connection()-&gt;getPdo() ? 'OK' : 'Error',\n                'cache' =&gt; Cache::store()-&gt;getRedis()-&gt;ping() ? 'OK' : 'Error',\n                'queue' =&gt; Queue::size() !== false ? 'OK' : 'Error'\n            ];\n        },\n        'analyzePerformance' =&gt; function ($callback) {\n            $start = microtime(true);\n            $result = $callback();\n            $time = microtime(true) - $start;\n            return [\n                'result' =&gt; $result,\n                'execution_time' =&gt; $time,\n                'memory_usage' =&gt; memory_get_usage()\n            ];\n        }\n    ],\n\n    \/\/ \u30c1\u30fc\u30e0\u5171\u901a\u306e\u30a8\u30a4\u30ea\u30a2\u30b9\n    'aliases' =&gt; [\n        'Dev' =&gt; App\\Helpers\\DevelopmentHelper::class,\n        'Test' =&gt; App\\Helpers\\TestingHelper::class\n    ]\n];<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-66\">2. \u30c1\u30fc\u30e0\u958b\u767a\u306e\u30d9\u30b9\u30c8\u30d7\u30e9\u30af\u30c6\u30a3\u30b9<\/h4>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ \u30c7\u30d0\u30c3\u30b0\u60c5\u5831\u306e\u5171\u6709\n&gt;&gt;&gt; function shareDebugInfo($data) {\n...     Storage::append(\n...         'debug\/team_' . date('Y-m-d') . '.log',\n...         json_encode([\n...             'user' =&gt; auth()-&gt;user()-&gt;name,\n...             'timestamp' =&gt; now(),\n...             'data' =&gt; $data\n...         ])\n...     );\n... }\n\n\/\/ \u5171\u6709\u30c7\u30d0\u30c3\u30b0\u30ed\u30b0\u306e\u78ba\u8a8d\n&gt;&gt;&gt; collect(Storage::get('debug\/team_' . date('Y-m-d') . '.log'))\n...     -&gt;split('\/\\n\/')\n...     -&gt;map(function ($line) {\n...         return json_decode($line, true);\n...     });<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-67\">\u81ea\u52d5\u5316\u30b9\u30af\u30ea\u30d7\u30c8\u3068\u306e\u9023\u643a\u30c6\u30af\u30cb\u30c3\u30af<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-68\">1. \u30d0\u30c3\u30c1\u51e6\u7406\u306e\u81ea\u52d5\u5316<\/h4>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ tinker_script.php\n&lt;?php\nrequire __DIR__.'\/vendor\/autoload.php';\n\n$kernel = app()-&gt;make(\\Illuminate\\Contracts\\Console\\Kernel::class);\n\n\/\/ Tinker\u30b3\u30de\u30f3\u30c9\u306e\u5b9f\u884c\n$commands = [\n    'User::truncate();',\n    'Post::truncate();',\n    'User::factory()-&gt;count(100)-&gt;create();',\n    'Post::factory()-&gt;count(300)-&gt;create();'\n];\n\nforeach ($commands as $command) {\n    $kernel-&gt;call('tinker', [\n        '--execute' =&gt; $command\n    ]);\n}<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-69\">2. CI\u30d1\u30a4\u30d7\u30e9\u30a4\u30f3\u3068\u306e\u7d71\u5408<\/h4>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ GitHubActions\u3067\u306eTinker\u4f7f\u7528\u4f8b\nname: Laravel Tinker Tests\non: [push]\njobs:\n  tinker-tests:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions\/checkout@v2\n      - name: Run Tinker Tests\n        run: |\n          php artisan tinker --execute=\"\n            \\$tests = [\n              'database' =&gt; DB::connection()-&gt;getPdo() ? 'OK' : 'Failed',\n              'models' =&gt; User::count() &gt;= 0 ? 'OK' : 'Failed'\n            ];\n            var_dump(\\$tests);\n          \"<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-70\">3. \u5b9a\u671f\u7684\u306a\u30c7\u30fc\u30bf\u691c\u8a3c<\/h4>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ app\/Console\/Commands\/ValidateDataCommand.php\nclass ValidateDataCommand extends Command\n{\n    protected $signature = 'data:validate';\n\n    public function handle()\n    {\n        Artisan::call('tinker', [\n            '--execute' =&gt; \"\n                \\$validation = [\n                    'orphaned_posts' =&gt; Post::whereDoesntHave('user')-&gt;count(),\n                    'invalid_emails' =&gt; User::whereRaw('email NOT REGEXP \\\"^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,}$\\\"')-&gt;count(),\n                    'incomplete_profiles' =&gt; User::whereNull('profile_completed_at')-&gt;count()\n                ];\n                \\Log::info('Data Validation Results:', \\$validation);\n            \"\n        ]);\n    }\n}<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-71\">\u9ad8\u5ea6\u306a\u6d3b\u7528\u30c6\u30af\u30cb\u30c3\u30af<\/h4>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u30c7\u30d0\u30c3\u30b0\u30bb\u30c3\u30b7\u30e7\u30f3\u306e\u8a18\u9332<\/strong><\/li>\n<\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ \u30c7\u30d0\u30c3\u30b0\u30bb\u30c3\u30b7\u30e7\u30f3\u306e\u30ed\u30ae\u30f3\u30b0\n&gt;&gt;&gt; class DebugSession {\n...     private static $log = [];\n...     \n...     public static function log($key, $value) {\n...         self::$log[] = [\n...             'timestamp' =&gt; now(),\n...             'key' =&gt; $key,\n...             'value' =&gt; $value\n...         ];\n...     }\n...     \n...     public static function export() {\n...         return collect(self::$log)\n...             -&gt;groupBy('key')\n...             -&gt;map(function ($group) {\n...                 return $group-&gt;pluck('value');\n...             });\n...     }\n... }\n\n\/\/ \u4f7f\u7528\u4f8b\n&gt;&gt;&gt; DebugSession::log('query', DB::getQueryLog());\n&gt;&gt;&gt; DebugSession::log('memory', memory_get_usage());\n&gt;&gt;&gt; dump(DebugSession::export());<\/pre>\n\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li><strong>\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u5206\u6790\u30c4\u30fc\u30eb<\/strong><\/li>\n<\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ \u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u8a08\u6e2c\u7528\u306e\u30e9\u30c3\u30d1\u30fc\n&gt;&gt;&gt; class Performance {\n...     public static function measure($callback) {\n...         $start = microtime(true);\n...         $result = $callback();\n...         $time = microtime(true) - $start;\n...         \n...         return [\n...             'result' =&gt; $result,\n...             'time' =&gt; $time,\n...             'memory' =&gt; memory_get_usage(),\n...             'queries' =&gt; count(DB::getQueryLog())\n...         ];\n...     }\n... }\n\n\/\/ \u4f7f\u7528\u4f8b\n&gt;&gt;&gt; Performance::measure(function () {\n...     return User::with('posts')-&gt;get();\n... });<\/pre>\n\n\n\n<p>\u3053\u308c\u3089\u306e\u5fdc\u7528\u7684\u306a\u30c6\u30af\u30cb\u30c3\u30af\u3092\u6d3b\u7528\u3059\u308b\u3053\u3068\u3067\u3001\u30c1\u30fc\u30e0\u5168\u4f53\u306e\u958b\u767a\u52b9\u7387\u3092\u5411\u4e0a\u3055\u305b\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u6b21\u306e\u30bb\u30af\u30b7\u30e7\u30f3\u3067\u306f\u3001\u3088\u304f\u3042\u308b\u30c8\u30e9\u30d6\u30eb\u3068\u305d\u306e\u89e3\u6c7a\u65b9\u6cd5\u306b\u3064\u3044\u3066\u89e3\u8aac\u3057\u3066\u3044\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"i-72\">\u3088\u304f\u3042\u308b\u30c8\u30e9\u30d6\u30eb\u3068\u89e3\u6c7a\u65b9\u6cd5<\/h2>\n\n\n\n<p>Laravel Tinker\u3092\u4f7f\u7528\u3059\u308b\u969b\u306b\u906d\u9047\u3057\u3084\u3059\u3044\u30c8\u30e9\u30d6\u30eb\u3068\u305d\u306e\u89e3\u6c7a\u65b9\u6cd5\u306b\u3064\u3044\u3066\u3001\u74b0\u5883\u5225\u306b\u8a73\u3057\u304f\u89e3\u8aac\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-73\">\u74b0\u5883\u5225\u306e\u4e3b\u8981\u306a\u30a8\u30e9\u30fc\u5bfe\u51e6\u6cd5<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-74\">1. \u30e1\u30e2\u30ea\u95a2\u9023\u306e\u554f\u984c<\/h4>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"># \u30e1\u30e2\u30ea\u4e0d\u8db3\u30a8\u30e9\u30fc\nPHP Fatal error: Allowed memory size of 134217728 bytes exhausted\n\n# \u89e3\u6c7a\u65b9\u6cd51: php.ini\u306e\u8a2d\u5b9a\u5909\u66f4\nmemory_limit = 512M\n\n# \u89e3\u6c7a\u65b9\u6cd52: \u5b9f\u884c\u6642\u306e\u30e1\u30e2\u30ea\u5236\u9650\u5909\u66f4\n&gt;&gt;&gt; ini_set('memory_limit', '512M');\n\n# \u89e3\u6c7a\u65b9\u6cd53: \u5927\u91cf\u30c7\u30fc\u30bf\u51e6\u7406\u6642\u306e\u30c1\u30e3\u30f3\u30af\u51e6\u7406\n&gt;&gt;&gt; User::chunk(1000, function ($users) {\n...     foreach ($users as $user) {\n...         \/\/ \u51e6\u7406\n...     }\n... });<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-75\">2. \u540d\u524d\u7a7a\u9593\u306e\u554f\u984c<\/h4>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ \u30af\u30e9\u30b9\u304c\u898b\u3064\u304b\u3089\u306a\u3044\u30a8\u30e9\u30fc\nClass 'App\\Models\\User' not found\n\n\/\/ \u89e3\u6c7a\u65b9\u6cd51: \u5b8c\u5168\u4fee\u98fe\u540d\u524d\u7a7a\u9593\u306e\u4f7f\u7528\n&gt;&gt;&gt; $user = \\App\\Models\\User::first();\n\n\/\/ \u89e3\u6c7a\u65b9\u6cd52: use\u30b9\u30c6\u30fc\u30c8\u30e1\u30f3\u30c8\u306e\u8ffd\u52a0\n&gt;&gt;&gt; use App\\Models\\User;\n&gt;&gt;&gt; $user = User::first();\n\n\/\/ \u89e3\u6c7a\u65b9\u6cd53: \u30aa\u30fc\u30c8\u30ed\u30fc\u30c7\u30a3\u30f3\u30b0\u306e\u518d\u751f\u6210\n$ composer dump-autoload<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-76\">3. \u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u63a5\u7d9a\u30a8\u30e9\u30fc<\/h4>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ \u63a5\u7d9a\u30a8\u30e9\u30fc\u306e\u8a3a\u65ad\n&gt;&gt;&gt; try {\n...     DB::connection()-&gt;getPdo();\n... } catch (\\Exception $e) {\n...     dump($e-&gt;getMessage());\n... }\n\n\/\/ \u63a5\u7d9a\u8a2d\u5b9a\u306e\u78ba\u8a8d\n&gt;&gt;&gt; dump(config('database.connections.mysql'));\n\n\/\/ \u63a5\u7d9a\u306e\u30ea\u30bb\u30c3\u30c8\n&gt;&gt;&gt; DB::reconnect();<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-77\">\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u6700\u9069\u5316\u306e\u30dd\u30a4\u30f3\u30c8<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-78\">1. \u30e1\u30e2\u30ea\u4f7f\u7528\u91cf\u306e\u6700\u9069\u5316<\/h4>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ \u30e1\u30e2\u30ea\u30ea\u30fc\u30af\u306e\u691c\u51fa\n&gt;&gt;&gt; function checkMemory($callback) {\n...     $initialMemory = memory_get_usage();\n...     $callback();\n...     $finalMemory = memory_get_usage();\n...     return [\n...         'initial' =&gt; $initialMemory,\n...         'final' =&gt; $finalMemory,\n...         'difference' =&gt; $finalMemory - $initialMemory\n...     ];\n... }\n\n\/\/ \u4f7f\u7528\u4f8b\n&gt;&gt;&gt; $memoryUsage = checkMemory(function() {\n...     $users = User::with('posts')-&gt;get();\n...     \/\/ \u30e1\u30e2\u30ea\u3092\u89e3\u653e\n...     unset($users);\n... });\n&gt;&gt;&gt; dump($memoryUsage);<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-79\">2. \u30af\u30a8\u30ea\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u306e\u6700\u9069\u5316<\/h4>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ \u30b9\u30ed\u30fc\u30af\u30a8\u30ea\u306e\u691c\u51fa\n&gt;&gt;&gt; DB::enableQueryLog();\n&gt;&gt;&gt; DB::listen(function ($query) {\n...     if ($query-&gt;time &gt; 100) {  \/\/ 100ms\u4ee5\u4e0a\u304b\u304b\u308b\u30af\u30a8\u30ea\n...         dump([\n...             'sql' =&gt; $query-&gt;sql,\n...             'bindings' =&gt; $query-&gt;bindings,\n...             'time' =&gt; $query-&gt;time\n...         ]);\n...     }\n... });\n\n\/\/ \u30af\u30a8\u30ea\u306e\u6700\u9069\u5316\u4f8b\n&gt;&gt;&gt; $users = User::select(['id', 'name'])  \/\/ \u5fc5\u8981\u306a\u30ab\u30e9\u30e0\u306e\u307f\u53d6\u5f97\n...     -&gt;with(['posts' =&gt; function ($query) {\n...         $query-&gt;select(['id', 'user_id', 'title']);\n...     }])\n...     -&gt;whereHas('posts')\n...     -&gt;get();<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-80\">3. \u30bb\u30c3\u30b7\u30e7\u30f3\u7ba1\u7406\u306e\u6700\u9069\u5316<\/h4>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ \u30bb\u30c3\u30b7\u30e7\u30f3\u30af\u30ea\u30fc\u30f3\u30a2\u30c3\u30d7\n&gt;&gt;&gt; function cleanupSessions() {\n...     $files = Storage::files('sessions');\n...     $expired = collect($files)-&gt;filter(function ($file) {\n...         $lastModified = Storage::lastModified($file);\n...         return Carbon::createFromTimestamp($lastModified)\n...             -&gt;addDays(5)\n...             -&gt;isPast();\n...     });\n...     Storage::delete($expired-&gt;toArray());\n...     return $expired-&gt;count();\n... }\n\n\/\/ \u4f7f\u7528\u4f8b\n&gt;&gt;&gt; dump(cleanupSessions() . \" \u500b\u306e\u30bb\u30c3\u30b7\u30e7\u30f3\u30d5\u30a1\u30a4\u30eb\u3092\u524a\u9664\u3057\u307e\u3057\u305f\");<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-81\">\u3088\u304f\u3042\u308b\u30a8\u30e9\u30fc\u3068\u305d\u306e\u89e3\u6c7a\u65b9\u6cd5<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-82\">1. \u30b3\u30f3\u30dd\u30fc\u30b6\u30d6\u30eb\u306e\u554f\u984c<\/h4>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ \u30a8\u30e9\u30fc: Target class does not exist\n&gt;&gt;&gt; class UserRepository {\n...     public function __construct(private User $user) {}\n... }\n&gt;&gt;&gt; app(UserRepository::class);\n\n\/\/ \u89e3\u6c7a\u65b9\u6cd5: \u30d0\u30a4\u30f3\u30c7\u30a3\u30f3\u30b0\u306e\u767b\u9332\n&gt;&gt;&gt; app()-&gt;bind(UserRepository::class, function ($app) {\n...     return new UserRepository($app-&gt;make(User::class));\n... });<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-83\">2. \u30ea\u30ec\u30fc\u30b7\u30e7\u30f3\u8aad\u307f\u8fbc\u307f\u306e\u554f\u984c<\/h4>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ N+1\u554f\u984c\u306e\u89e3\u6c7a\n&gt;&gt;&gt; DB::enableQueryLog();\n\n\/\/ \u554f\u984c\u306e\u3042\u308b\u30b3\u30fc\u30c9\n&gt;&gt;&gt; $posts = Post::all();\n&gt;&gt;&gt; $posts-&gt;each(fn($post) =&gt; $post-&gt;user);\n&gt;&gt;&gt; dump(count(DB::getQueryLog())); \/\/ \u591a\u6570\u306e\u30af\u30a8\u30ea\u304c\u5b9f\u884c\u3055\u308c\u308b\n\n\/\/ \u6700\u9069\u5316\u3055\u308c\u305f\u30b3\u30fc\u30c9\n&gt;&gt;&gt; $posts = Post::with('user')-&gt;get();\n&gt;&gt;&gt; $posts-&gt;each(fn($post) =&gt; $post-&gt;user);\n&gt;&gt;&gt; dump(count(DB::getQueryLog())); \/\/ \u30af\u30a8\u30ea\u6570\u304c\u5927\u5e45\u306b\u6e1b\u5c11<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"i-84\">\u30c8\u30e9\u30d6\u30eb\u30b7\u30e5\u30fc\u30c6\u30a3\u30f3\u30b0\u306e\u30d9\u30b9\u30c8\u30d7\u30e9\u30af\u30c6\u30a3\u30b9<\/h4>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u30b7\u30b9\u30c6\u30e0\u72b6\u614b\u306e\u8a3a\u65ad<\/strong><\/li>\n<\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ \u30b7\u30b9\u30c6\u30e0\u8a3a\u65ad\u30c4\u30fc\u30eb\n&gt;&gt;&gt; class SystemDiagnostics {\n...     public static function check() {\n...         return [\n...             'php_version' =&gt; PHP_VERSION,\n...             'laravel_version' =&gt; app()-&gt;version(),\n...             'memory_limit' =&gt; ini_get('memory_limit'),\n...             'max_execution_time' =&gt; ini_get('max_execution_time'),\n...             'database_connection' =&gt; try { \n...                 DB::connection()-&gt;getPdo();\n...                 return 'OK';\n...             } catch (\\Exception $e) {\n...                 return $e-&gt;getMessage();\n...             },\n...             'cache_connection' =&gt; Cache::get('test_key', 'OK'),\n...             'queue_connection' =&gt; Queue::size('default') !== false ? 'OK' : 'Error'\n...         ];\n...     }\n... }\n\n\/\/ \u4f7f\u7528\u4f8b\n&gt;&gt;&gt; dump(SystemDiagnostics::check());<\/pre>\n\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li><strong>\u30a8\u30e9\u30fc\u30ed\u30b0\u306e\u5206\u6790<\/strong><\/li>\n<\/ol>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ \u30a8\u30e9\u30fc\u30ed\u30b0\u306e\u89e3\u6790\n&gt;&gt;&gt; function analyzeErrorLog() {\n...     $log = Storage::get('logs\/laravel.log');\n...     return collect(explode(\"\\n\", $log))\n...         -&gt;filter(fn($line) =&gt; str_contains($line, '[ERROR]'))\n...         -&gt;groupBy(function ($line) {\n...             return substr($line, 0, 19); \/\/ \u30bf\u30a4\u30e0\u30b9\u30bf\u30f3\u30d7\u3067\u30b0\u30eb\u30fc\u30d7\u5316\n...         })\n...         -&gt;map(fn($group) =&gt; $group-&gt;count())\n...         -&gt;sortDesc();\n... }\n\n\/\/ \u4f7f\u7528\u4f8b\n&gt;&gt;&gt; dump(analyzeErrorLog());<\/pre>\n\n\n\n<p>\u3053\u308c\u3089\u306e\u30c8\u30e9\u30d6\u30eb\u30b7\u30e5\u30fc\u30c6\u30a3\u30f3\u30b0\u624b\u6cd5\u3092\u7406\u89e3\u3057\u3001\u9069\u5207\u306b\u9069\u7528\u3059\u308b\u3053\u3068\u3067\u3001Laravel Tinker\u3092\u4f7f\u7528\u3059\u308b\u969b\u306e\u554f\u984c\u3092\u52b9\u7387\u7684\u306b\u89e3\u6c7a\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002\u307e\u305f\u3001\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u306e\u6700\u9069\u5316\u306b\u3088\u308a\u3001\u3088\u308a\u52b9\u7387\u7684\u306a\u958b\u767a\u74b0\u5883\u3092\u69cb\u7bc9\u3059\u308b\u3053\u3068\u304c\u53ef\u80fd\u3067\u3059\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Warning: Undefined array key &#8220;is_admin&#8221; in \/home\/xs392991\/dexall.co.jp\/public_html\/articles\/wp-content\/themes\/ &#8230; <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[33,12],"tags":[],"class_list":{"0":"post-3217","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-php-laravel","7":"category-php","8":"nothumb"},"_links":{"self":[{"href":"https:\/\/dexall.co.jp\/articles\/index.php?rest_route=\/wp\/v2\/posts\/3217","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dexall.co.jp\/articles\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dexall.co.jp\/articles\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dexall.co.jp\/articles\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dexall.co.jp\/articles\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3217"}],"version-history":[{"count":2,"href":"https:\/\/dexall.co.jp\/articles\/index.php?rest_route=\/wp\/v2\/posts\/3217\/revisions"}],"predecessor-version":[{"id":3219,"href":"https:\/\/dexall.co.jp\/articles\/index.php?rest_route=\/wp\/v2\/posts\/3217\/revisions\/3219"}],"wp:attachment":[{"href":"https:\/\/dexall.co.jp\/articles\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3217"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dexall.co.jp\/articles\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3217"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dexall.co.jp\/articles\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3217"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}