Для пользовательских классов вам необходимо импортировать проект
expr -l Swift -- import MyTestProject
expr -l Swift -- let $vc = unsafeBitCast(0x7fad22c066d0, ViewController.self)
expr -l Swift -- print($vc.view)
В вашей первой таблице :
public function up()
{
Schema::create('Gerecht', function (Blueprint $table) {
$table->increments('Gerechtcode');
$table->string('Gerecht', 20);
$table->foreign('Gerechtcode')->references('Gerechtcode')->on('Subgerecht');
});
}
Вы используете первичный ключ (Gerechtcode) для ссылок на другую таблицу. Это невозможно. Я думаю, что это сработает, если вы измените первую таблицу на:
public function up()
{
Schema::create('Gerecht', function (Blueprint $table) {
$table->increments('Gerechtcode');
$table->unsignedInteger('SubgerechtCode');
$table->string('Gerecht', 20);
$table->foreign('SubgerechtCode')->references('Gerechtcode')->on('Subgerecht');
});
}
И вторая таблица на:
public function up()
{
Schema::create('Subgerecht', function (Blueprint $table) {
$table->increments('SubgerechtCode');
$table->string('Subgerecht', 25);
});
}
В таким образом, у вас есть отношения один-ко-многим, которые можно обрабатывать в Laravel. Но ваш код не позволяет мне понять ваши потребности.
Ваша миграция сформирована неправильно. Во-первых, первичный ключ и внешний должны быть одного типа, в вашем случае, поскольку первичный ключ использует метод laravel increments
, внешний ключ должен быть unsigned integer
. Во-вторых, вы устанавливаете основной в первой таблице как иностранный в той же таблице, что совершенно неверно.
Ваши миграции должны выглядеть следующим образом
Первая таблица
public function up()
{
Schema::create('Gerecht', function (Blueprint $table) {
$table->increments('Gerechtcode');
$table->string('Gerecht', 20);
});
}
Вторая таблица
public function up()
{
Schema::create('Subgerecht', function (Blueprint $table) {
$table->increments('SubgerechtCode');
$table->unsignedInteger('Gerechtcode');
$table->string('Subgerecht', 25);
$table->foreign('Gerechtcode')->references('Gerechtcode')->on('Gerecht');
});
}
[ 119] Дополнительную информацию можно найти в документации .