У кого работают отношения на уровне базы данных, чтобы они отображались в workbench, phpMyAdmin?

Я хочу добавить отношение (один ко многим) в мою базу данных MySql.

У меня есть таблица с сообщениями в блогах, и теперь я хочу подсчитать читателей.

Я написал миграцию, добавил модели, контроллеры, все в порядке.

Но если я смотрю с помощью workbench или phpMyAdmin, я не показываю связь в дизайнере, и я не знаю почему - связь отсутствует.

В документе Laravel я нашел:

Laravel also provides support for creating foreign key constraints, which are used to force referential integrity at the database level.

https://laravel.com/docs/5.4/migrations#foreign-key-constraints

Я думаю, что моя ошибка прямо в моем мозгу или в файле миграции.

Я импортировал дамп mysql в прошлом проекта. Есть отношения, которые работают - они проявляются.

У меня есть вопросы:

  • Отношение на уровне базы данных не зависит от модели?
  • Если у меня есть пустая база данных, также отображаются отношения, или мне нужно импортировать тестданные?

Я не знаю, где моя ошибка.

Каковы правильные шаги для создания отношения, которое также отображается визуально в workbench или phpMyAdmin на уровне базы данных с laravel.

Если я снова перенесу весь проект, никаких отношений не будет видно.

но миграция php artisan прошла успешно

Вот несколько примеров моих файлов миграции:

    public function up()
    {
        Schema::create('column', function (Blueprint $table) {

            $table->increments('id');
            $table->integer('count');
            $table->unsignedInteger('post_id');
            $table->timestamps();
            $table->foreign('post_id')->references('id')->on('posts');

        });
    }

Я нашел какое-то решение, было важно добавить $table->engine = "InnoDb"

larabee 24.02.2019 11:28

Вы можете использовать innodb в качестве движка по умолчанию в MySQL, поэтому вы можете не указывать его внутри миграции, как это

Mihir Bhende 24.02.2019 19:55

Что вы имеете в виду под "никаких отношений не видно". Как вы поняли, что ссылки не установлены?

lin 20.02.2020 11:19

База данных была смешана с различными механизмами хранения, использование InnoDb было окончательным решением для просмотра отношений в рабочей среде.

larabee 20.02.2020 11:24
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
4
37
0

Другие вопросы по теме