如何指定在laravel中使用哪个表?我的所有数据都被添加到用户表,但我有管理员表,我想提交数据。
答案 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中,您需要使用不同的模型来处理不同的表。