我有一个laravel项目工作正常,但我不能看到在sql服务器的关系。(其中我使用xampp)。
我希望laravel中的foreign-id是实际表中的foreign-id。它在laravel中运行良好,我希望它在实际的数据库服务器中也能运行。
这是我的模型,学生模型和迁移:
public function user() {
return $this->belongsTo(User::class);
}
Schema::create('students', function (Blueprint $table) {
$table->id();
$table->string("username")->unique();
$table->foreignId("user_id");
$table->foreignId("course_id");
$table->bigInteger("class_roll");
$table->integer("year");
$table->integer("semester")->nullable();
$table->timestamps();
});
用户模型和迁移:
一个二个一个一个
在设计器视图中,students. user_id和www.example.com之间没有链接users.id:
2条答案
按热度按时间6pp0gazn1#
您需要在迁移文件中显式定义外键约束。
可以对外键列使用foreign()方法来定义外键约束条件。例如,在“user_id”和“course_id”列上创建外键约束条件
oaxa6hgo2#
有很多更好的指南可以解释这一点,所以我会尽量保持简单,有两件事你需要了解数据库关系如何在laravel中工作:
**1-**您可以将数据库表连接为相互关联,这有很多好处,例如您可以级联删除数据。
你目前没有告诉mysql哪些表正在被连接,你可以从下面的stackoverflow看到一个更好的方法来做到这一点:laravel migration best way to add foreign key
**2-**您可以使用模型连接您的数据库表,这不会显示在MYSQL设计器的任何地方,因为这主要是代码库,这足以处理所有的数据处理之间的关系。
这部分你已经做了。