3 回答
TA贡献1852条经验 获得超1个赞
根据我的经验,这是最好的写法。如果您的其他表被命名,pais那么这将是最好的:
public function up()
{
Schema::create('estados', function (Blueprint $table) {
$table->id();
$table->string('nombre' , 30)->nullable()->unique();
$table->foreignId('pais_id')->constrained();
});
}
不然的话,这也不错……
public function up()
{
Schema::create('estados', function (Blueprint $table) {
$table->id();
$table->string('nombre' , 30)->nullable()->unique();
$table->unsignedBigInteger('pais_id')->default('1');
$table->foreign('pais_id')->refereces('id')->on('paises');
});
}
TA贡献1876条经验 获得超7个赞
你可以做
public function up()
{
Schema::create('estados', function (Blueprint $table) {
$table->bigIncrements('id')->primary('PRIMARY');
$table->string('nombre' , 30)->unique()->nullable();
$table->integer('pais_id')->index()->default('1');
$table->foreign('pais_id')->references('id')->on('paises');
});
}
你不需要创建手动索引或外键,Laravel 会处理这些,除非你愿意。
TA贡献1821条经验 获得超6个赞
不要忘记使用unsigned()在pais_id
public function up()
{
Schema::create('estados', function (Blueprint $table) {
$table->bigIncrements('id')->primary('PRIMARY');
$table->string('nombre' , 30)->unique()->nullable();
$table->integer('pais_id')->unsigned()->index()->default('1');
});
Schema::table('estados', function ($table) {
$table->foreign('pais_id')->references('id')->on('paises');
});
}
- 3 回答
- 0 关注
- 129 浏览
添加回答
举报