【问题标题】:Should i make multiple models for my migration with different tables我是否应该使用不同的表为我的迁移制作多个模型
【发布时间】:2019-05-28 17:30:43
【问题描述】:

我有一个包含多个表的迁移:Status、Status_project、Status_task。我可以只使用使用迁移命令创建的状态模型来调用它们吗?

php artisan make:model Status -m

我在几个地方读到我必须为每张桌子制作一个模型,但没有其他方法吗?除了 DB::table('statuses')。由于我的关系,我不喜欢多个模型

例子:

  Schema::create('statuses', function (Blueprint $table) {
        $table->bigIncrements('id');
        $table->string('name')->unique();
        $table->string('display_name')->nullable();
        $table->string('description')->nullable();
        $table->timestamps();
    });

    Schema::create('status_task', function (Blueprint $table) {
        $table->bigIncrements('id');
        $table->string('user_id')->nullable();
        $table->unsignedBigInteger('task_id');
        $table->unsignedBigInteger('status_id');

        $table->foreign('user_id')->references('id')->on('users')
            ->onUpdate('cascade')->onDelete('cascade');
        $table->foreign('task_id')->references('id')->on('ongoing_tasks')
            ->onUpdate('cascade')->onDelete('cascade');
        $table->foreign('status_id')->references('id')->on('statuses')
            ->onUpdate('cascade')->onDelete('cascade');

    });

    Schema::create('status_project', function (Blueprint $table) {
        $table->bigIncrements('id');
        $table->string('user_id')->nullable();
        $table->string('project_id');
        $table->unsignedBigInteger('status_id');

        $table->foreign('user_id')->references('id')->on('users')
            ->onUpdate('cascade')->onDelete('cascade');
        $table->foreign('project_id')->references('id')->on('ongoing_projects')
            ->onUpdate('cascade')->onDelete('cascade');
        $table->foreign('status_id')->references('id')->on('statuses')
            ->onUpdate('cascade')->onDelete('cascade');

    });

    DB::commit();

【问题讨论】:

标签: php mysql laravel laravel-5.8


【解决方案1】:

如果您打算使用 Eloquent 构建查询,则需要为每个表创建一个模型。如果您使用查询生成器,则无需为每个表创建模型。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-09-07
    • 2018-09-09
    • 2019-12-14
    • 1970-01-01
    • 1970-01-01
    • 2019-10-07
    • 2017-01-30
    • 2015-10-22
    相关资源
    最近更新 更多