Laravel迁移,指定要插入数据的表

时间:2017-03-19 14:46:15

标签: laravel

如何指定在laravel中使用哪个表?我的所有数据都被添加到用户表,但我有管理员表,我想提交数据。

3 个答案:

答案 0 :(得分:0)

为了获得一些见解,在store方法中保存管理记录时,记录是Admin类的实例吗?我如何处理我有管理员用户的情况在users表中有一个名为is_admin的额外列,它是一个布尔值。创建新用户时,应将默认值设置为false。此外,当您将值更改为true时,用户将成为管理员。这样,你就不会处理两个不同的表,只有一个users表。

答案 1 :(得分:0)

您创建了一个迁移,例如

add_user_id_to_posts_table 

写作

php artisan make:migration add_user_id_to_posts_table

然后在您的数据库/迁移文件夹中,您将获得一个新文件,其中包含创建日期和您提供的名称。

在这个文件中你会找到2个方法up()和down()

你将拥有的up()方法

public function up()
{
    Schema::table('posts', function (Blueprint $table) {
        $table->integer('user_id')->unsigned();
        $table->foreign('user_id')->references('id')->on('users');

    });
}

其中'posts'是表格的名称

答案 2 :(得分:0)

在laravel中,每个表代表Model。默认情况下,如果您的表格名称为users,那么您的模型名称应为User。我的意思是如果您默认使用User模型,Laravel会认为您的表名为users。如果要更改该表名称,例如,如果您有一个名为user的表,并且您的模型名称也是User,则必须在User模型中指定您的表名称像这样的课程

protected $table = 'user'

因此,如果您想在user表格中插入内容,则可以使用User模型进行操作。如果您有另一个名为posts的模型,那么您应该有另一个名为Post的模型。因此,现在您可以使用您的Post模型使用Post模型插入/更新或任何其他相关任务。

因此,很快,在Laravel中,您需要使用不同的模型来处理不同的表。