Postingan lainnya
Gagal migrasi table one to one relationship pada laravel 5.8
saya ingin membuat Eloquent relationship one to one pada laravel tetapi terjadi masalah. disini saya ingin menguhubungkan antara id:siswa dengan id_siswa:telepon dan ketika saya migrate terjadi error seperti ini
Illuminate\Database\QueryException : SQLSTATE[HY000]: General error: 1005 Can't create table `db_siswakuapp`.`
telepon` (errno: 150 "Foreign key constraint is incorrectly formed") (SQL: alter table `telepon` add constraint `t
elepon_id_siswa_foreign` foreign key (`id_siswa`) references `siswa` (`id`) on delete cascade on update cascade)
at G:\PHP PROGRAMMING\LARAVEL\P-Laravel\Querybuilder\vendor\laravel\framework\src\Illuminate\Database\Connection
.php:664
660| // If an exception occurs when attempting to run a query, we'll format the error
661| // message to include the bindings with SQL, which will make this exception a
662| // lot more helpful to the developer instead of just the database's errors.
663| catch (Exception $e) {
> 664| throw new QueryException(
665| $query, $this->prepareBindings($bindings), $e
666| );
667| }
668|
Exception trace:
1 PDOException::("SQLSTATE[HY000]: General error: 1005 Can't create table `db_siswakuapp`.`telepon` (errno: 15
0 "Foreign key constraint is incorrectly formed")")
G:\PHP PROGRAMMING\LARAVEL\P-Laravel\Querybuilder\vendor\laravel\framework\src\Illuminate\Database\Connectio
n.php:458
2 PDOStatement::execute()
G:\PHP PROGRAMMING\LARAVEL\P-Laravel\Querybuilder\vendor\laravel\framework\src\Illuminate\Database\Connectio
n.php:458
ini kode table siswa
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateTableSiswa extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('siswa', function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('nisn', 4)->unique();
$table->string('nama_siswa', 30);
$table->date('tanggal_lahir');
$table->enum('jenis_kelamin', ['L', 'P']);
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('siswa');
}
}
dan ini kode table telepon yang tidak bisa dimigrate
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateTableTelepon extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('telepon', function (Blueprint $table) {
$table->bigIncrements('id');
$table->Integer('id_siswa')->primary('id_siswa');
$table->string('telepon')->unique();
$table->foreign('id_siswa')->references('id')->on('siswa')->onDelete('cascade')->onUpdate('cascade');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('telepon');
}
}
0