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 關注
- 171 瀏覽
添加回答
舉報