Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Yii Tabel bergabung tetapi tidak semua data yang dipilih diambil

Gabung paling baik digunakan di Yii dengan membuat Hubungan , dengan begitu Anda tidak perlu menulis kueri yang rumit

Mulailah dengan menambahkan kunci asing di tabel sql Anda (mis. tambahkan kunci asing patientId di kursi)

Selanjutnya jika Anda membuat ulang model Anda, Anda dapat melihat relasi yang ditambahkan secara otomatis (atau Anda dapat menambahkan relasi secara manual)

public function relations()
{

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

Dan pada model kursi Anda akan melihat hubungannya

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

Mendefinisikan relasi saja memungkinkan Anda mengakses nilai dalam model yang dikueri sebagai $model->relationName, jika Anda ingin menggunakan kolom dalam kondisi 'di mana', gunakan kueri berikut dalam fungsi model Anda

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

Kata kunci "with" penting dan dapat mengambil larik daftar relasi untuk disertakan dalam kueri. Kondisi kueri akan berlaku untuk semua tabel yang disertakan, Anda dapat melewati kata kunci "dengan" di sini jika Anda tidak ingin meminta bidang dari tabel lain dan hanya memerlukan data keluaran yang ditautkan.

Dan Anda dapat mencapai kursi yang disediakan untuk pasien dengan

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

Ada juga pendekatan lain , seperti yang dibahas di sini

Untuk lebih berhubungan dengan relasi, buka di sini




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mengapa penguncian tingkat tabel lebih baik daripada penguncian tingkat baris untuk tabel besar?

  2. Bagaimana cara menguji apakah kueri MySQL berhasil memodifikasi data tabel database?

  3. MySQL:pilih kueri, kenaikan 5 menit

  4. akses pengguna baru mysql ditolak

  5. Python 3.4.0 dengan database MySQL