phpMyAdmin
 sql >> база данни >  >> Database Tools >> phpMyAdmin

Възможно ли е да коригирате външен ключ в Yii, без да сте го настроили в базата данни?

Ако не се лъжа, нямате нужни да има mySql, налагащ връзки с външни ключове, за да могат те все още да работят в Yii. Настройването на FK ограничения в mySql гарантира правилна цялост на базата данни, но не мисля, че Yii всъщност използва това по време на изпълнение.

Когато първоначално се изпълнява yiic (от Gii) за изграждане на проекта, мисля, че той гледа към DB за изграждане на правилните връзки в модела, но не ги използва след това.

След това Yii използва това знание (от yiic) за връзките на таблиците, за да улесни живота ви, като предоставя методи за бърз достъп за достъп до релационни данни и за да гарантира, че няма да нарушите mySql ограниченията и да получите грозни SQL грешки и т.н. Но все пак можете да използвате Yii релационна логика без основните SQL ограничения. Единственият проблем ще бъде, че ако Yii се обърка и присвои несъществуващ FK или нещо подобно, вашата база данни няма да улови тази грешка (целостта на данните ви ще бъде по-податлива на грешки).

За да свържете продуктите си с отдели, просто се уверете, че имате поле department_id в продукта (което звучи сякаш правите). След това добавете правило за връзка като това към Продукт:

'department' => array(self::BELONGS_TO, 'Department', 'department_id'),

И във вашия модел на отдел:

'products' => array(self::HAS_MANY, 'Product', 'department_id'),

Сега трябва да можете да използвате релацията както обикновено:

$myProductModel->department; // returns the model of the Department referenced
$myDepartmentModel->products; // returns the models of all Products in the department

Успех и ме уведомете, ако съм далеч от базата и не работи за вас!




  1. DBeaver
  2.   
  3. phpMyAdmin
  4.   
  5. Navicat
  6.   
  7. SSMS
  8.   
  9. MySQL Workbench
  10.   
  11. SQLyog
  1. Как мога да видя дали изборът на потребителя във теста е правилен?

  2. Какъв е лесният начин за импортиране на голяма база данни в mysql с помощта на phpmyadmin?

  3. Как да надстроя phpMyAdmin в XAMPP до най-новата версия?

  4. промяна на URL адреса по подразбиране на phpmyadmin

  5. Как да увеличите лимита за размер на импортиране в phpMyAdmin