Laravel 8 - 用户表中的两个外键
Posted
技术标签:
【中文标题】Laravel 8 - 用户表中的两个外键【英文标题】:Laravel 8 - two foreign key from the users table 【发布时间】:2021-10-25 01:44:57 【问题描述】:我想创建两个人可以创建会议室的应用程序。 但我不知道如何在 Laravel 中制作模式。
我尝试这样创建:
Schema::create('appointments_tables', function (Blueprint $table)
$table->id();
$table->unsignedBigInteger('user_id');
$table->unsignedBigInteger('user_id2');
$table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
$table->foreign('user_id2')->references('id')->on('users')->onDelete('cascade');
$table->datetime('start');
);
这是正确的做法吗?
【问题讨论】:
如果房间里最多只能有两个人,这是正确的 @NadirAbbas 是的,只有两个人,所以我不需要另一张桌子。 :) 谢谢! ?????? 【参考方案1】:是的,没错。
您也可以使用 artisan 命令“php artisan make:migration”。
以下是该命令帮助标志的详细信息:
$ php artisan -help make:迁移
说明:
创建一个新的迁移文件
用法:
make:migration [选项] [--]
参数:
name 迁移的名称
选项:
--create[=CREATE] The table to be created
--table[=TABLE] The table to migrate
--path[=PATH] The location where the migration file should be created
--realpath Indicate any provided migration file paths are pre-resolved absolute paths
--fullpath Output the full path of the migration
-h, --help 显示此帮助信息 -q, --quiet 不输出任何消息 -V, --version 显示此应用程序版本 --ansi 强制 ANSI 输出 --no-ansi 禁用 ANSI 输出 -n, --no-interaction 不问任何交互式问题 --env[=ENV] 命令应该运行的环境 -v|vv|vvv, --verbose 增加消息的详细程度:1 表示正常输出,2 表示更详细的输出,3 表示调试
【讨论】:
【参考方案2】:您可以在存储日期的位置创建一个调用约会表,并在存储用户 ID 和约会 ID 的位置创建一个数据透视表调用约会用户,并且可以在数据透视表调用角色中添加一列。
更多信息请在 Laravel 文档中搜索多对多关系
【讨论】:
以上是关于Laravel 8 - 用户表中的两个外键的主要内容,如果未能解决你的问题,请参考以下文章
SQLSTATE [HY000] Laravel 8 中的外键约束格式错误