gebildet Hey Jungs, die ich zu viele Sachen ausprobiert und einige Blogs lesen oder Diskussion, die ich repariere nicht mein Problem, das ich bin neu in Laravel dieses Projekt für meine Universität Lektion ... habe ich Fehler, wenn ich will Datenbank diese Fehler wieLaravel über Fremdschlüssel falsch
[Illuminate\Database\QueryException]
SQLSTATE[HY000]: General error: 1005 Can't create table `moviestore`.`#sql-
13df8_27` (errno: 150 "Foreign key constraint is incorrectly formed") (SQL:
alter table `orders` add constraint `orders_address_id_foreign` foreign ke
y (`address_id`) references `addresses` (`id`))
und dies ist mein Codes
public function up()
{
Schema::create('orders', function (Blueprint $table) {
$table->engine = 'InnoDB';
$table->increments('id');
$table->dateTime('OrderDate');
$table->integer('TotalCount');
$table->decimal('TotalPrice',20,2);
$table->integer('user_id')->unsigned();
$table->integer('address_id')->unsigned();
$table->timestamps();
$table->foreign('user_id')->references('id')->on('users');
$table->foreign('address_id')->references('id')->on('addresses');
});
// Schema::table('orders', function(Blueprint $table)
// {
// $table->foreign('user_id')->references('id')->on('users');
// $table->foreign('address_id')->references('id')->on('addresses');
// });
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
DB::statement('SET FOREIGN_KEY_CHECKS=0');
Schema::dropIfExists('orders');
DB::statement('SET FOREIGN_KEY_CHECKS=1');
}
Adressen Tabellencode
public function up()
{
Schema::create('addresses', function (Blueprint $table) {
$table->engine = 'InnoDB';
$table->increments('id');
$table->string('FullAddress');
$table->string('AddressType');
$table->string('PhoneNumber');
$table->integer('user_id')->unsigned();
$table->timestamps();
$table->foreign('user_id')->references('id')->on('users');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
DB::statement('SET FOREIGN_KEY_CHECKS=0');
Schema::dropIfExists('addresses');
DB::statement('SET FOREIGN_KEY_CHECKS=1');
}
erstellen
Es gibt keine Beziehung zwischen den einzelnen Tabellen, wenn ich Tabellen
können Sie die Migrations-dass durch '$ table-> ausländische ('address_id') bezeichnet wird -> Referenzen ('id') -> auf ('Adressen');'? die Tabelle, die den Primärschlüssel haben. –
@BagusTesa Dies ist GitHub Repo-Link https://github.com/emresandikci/moviestore-laravel – Emre
das ist ... seltsam .. Ich kann nichts falsch sehen, dachte ich, es war einer von ihnen entweder 'bigIncrements' oder' smallIncrements' .. brauche ein anderes Paar Augen, um das zu überprüfen. –