Mysql
 sql >> база данни >  >> RDS >> Mysql

Yii Обединена таблица, но не всички избрани данни се извличат

Съединенията се използват най-добре в Yii чрез създаване на Relations, така че няма да е необходимо да пишете сложни заявки

Започнете с добавяне на външни ключове във вашите sql таблици (напр. добавете идентификатор на пациент с външен ключ в стол)

След това, ако регенерирате модела си, можете да видите релациите автоматично добавени (или можете ръчно да добавите релациите)

public function relations()
{

    return array(
        'chairs' => array(self::HAS_MANY, 'chair', 'patientId'),
    );
}

И в модела на стола ще видите релацията

'patient' => array(self::BELONGS_TO, 'patient', 'patientId'),

Само дефинирането на релацията ви позволява достъп до стойностите в заявения модел като $model->relationName, ако искате да използвате колона в условие 'where', използвайте следната заявка във вашата моделна функция(и)

$patients=Patient::model()->findAll(array(
                'condition' => "$field like '%$value%'",
                'with'=>array('chairs'),
                'select'=> "*",
                )); 

Ключовата дума "with" е важна и може да приеме масив от списък с релации, които да включи в заявката. Условието на заявката ще се прилага за всички включени таблици. Можете да пропуснете ключовата дума "with" тук, ако не искате да заявите поле от друга таблица и се нуждаете само от свързаните изходни данни.

И можете да стигнете до столовете, определени на пациента от

foreach($patients as $patient)print_r($patient->chairs);

Съществуват и други подходи, като един обсъден тук

За да се свържете повече с отношенията, отидете тук




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Не може да се намери клас [org.springframework.orm.hibernate5.LocalSessionFactoryBean] за bean с име 'hibernate5AnnotatedSessionFactory'

  2. Имам нужда от помощ при проектирането на структурата на базата данни на моята фактура

  3. mysqldump с utf8 не може да експортира правилния низ от емоджи

  4. Mysql изберете последния ред за всяка група

  5. Атака с инжектиране, която е успешна с mysql_query, но неуспешна с mysqli_query