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

Laravel 5.4 Permintaan Bergabung Mentah

Anda dapat menggunakan panggilan balik untuk membuat kueri bergabung yang lebih rumit.

->leftJoin(TBL_CAT, function($query){
     $query->on(TBL_CAT.'id', '=', 'p.cat_id')->where("**", "**", "**");
})

Berikut ini tautan di laravel doc - https://laravel.com/docs/5.4/queries# bergabung Bagian "Klausul Gabung Lanjutan".

UPD::Seperti yang disebutkan dalam komentar, bukanlah ide yang baik untuk memiliki string untuk jenis data seperti itu. Pencarian penyebab dengan kesetaraan harus jauh lebih sederhana daripada pemeriksaan string. Bahkan jika jumlah data Anda seharusnya tidak memiliki perbedaan besar, Anda tidak pernah tahu apa yang akan terjadi dengan aplikasi Anda di masa depan.

Tetapi jika Anda masih ingin melakukannya, saya pikir Anda dapat mencoba seperti ini

->leftJoin(TBL_CAT, function($query){
     $query->where(DB::raw("FIND_IN_SET(".TBL_CAT.".id, p.cat_id)"), "<>", "0");
})

Join yang akan mengecek keberadaan id di cat_id.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Memilih baris dari satu tabel menggunakan nilai yang didapat dari tabel lain MYSQL

  2. Praktik terbaik untuk struktur basis data voting komentar

  3. Paginasi hasil MySQL dalam PHP

  4. Bergabunglah dengan dua tabel dengan kondisi - ruby ​​​​on rails

  5. Di mana set Hasil disimpan saat bekerja dengan jdbc dan driver Oracle