James Kang 2020-01-06 15:26 采纳率: 0%
浏览 276

Laravel 執行php artisan make:model admin/members -m 時,目錄問題??

請教大大! 我能讓 2020_01_06_060935_create_members_table.php 搬到 admin 目錄裡面嗎?

Laravel 執行php artisan make:model admin/members -m 時,

php artisan make:model admin/members -m

疑問的是:
members.php檔案 在admin目錄裡面
2020_01_06_060935_create_members_table.php檔案 不在admin目錄裡面
如下圖:
图片说明

我執行:
php artisan make:model admin/members -m
同時產生2個檔案
1、在app/目錄下 新增了一的admin 目錄 且在目錄裡面 產生一個 members.php
2、在database/目錄下 雖然新增了一的admin 目錄 但是migration 的檔案卻是在(database/migration/)目錄

PS:嘗試手動將檔案移到admin 後,執行 php artisan migrate 時,資料庫沒有創建members表

請教大大們,這問題何解?

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-07-26 20:24
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    这个问题是由于 Laravel 使用了迁移(Migrations)机制来管理数据库结构。当你使用 php artisan make:model 命令创建一个新的模型时,它会自动为这个模型生成一个迁移文件,然后将这个文件放到 database/migrations/ 目录中。

    在这个例子中,你试图在 admin 目录下放置 create_members_table.php 文件,但实际上这个文件应该放在 database/migrations/admin/create_members_table.php 而不是 admin/members.php

    解决这个问题的方法是,在你的 create_members_table.php 文件中删除 <code> 标签,并确保文件名正确地包含 admin 字段。例如,你可以修改文件名为 create_members_table_admin.php 或者直接将其放在 database/migrations/ 目录下即可。

    另外,如果你正在使用 Laravel 的 artisan 命令执行迁移操作,请确保你在命令行中指定了正确的文件路径,以避免任何目录问题。

    以下是修改后的 create_members_table_admin.php 示例:

    <?php
    
    namespace App\Migrations;
    
    use Illuminate\Database\Migrations\Migration;
    use Illuminate\Database\Schema\Blueprint;
    use Illuminate\Support\Facades\Schema;
    
    class CreateMembersTableAdmin extends Migration
    {
        /**
         * Run the migrations.
         *
         * @return void
         */
        public function up()
        {
            Schema::create('members', function (Blueprint $table) {
                // Your migration code here
            });
        }
    
        /**
         * Reverse the migrations.
         *
         * @return void
         */
        public function down()
        {
            Schema::dropIfExists('members');
        }
    }
    

    这样,当你尝试运行 Laravel 的 make:migration 命令时,它会自动识别并处理迁移文件的位置和命名规则。

    评论

报告相同问题?