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

Rails 3 - Bersemangat memuat dengan kondisi

Tambahkan asosiasi baru yang disebut published_pages (terlepas dari asosiasi Anda saat ini)

class Category

  has_many   :children,        :class_name => "Category", 
               :foreign_key => "parent_id"
  has_many   :published_pages, :class_name => "Page", 
               :conditions  => { :is_published => true }

end

Sekarang Anda bisa mendapatkan semua kategori sebagai berikut:

self.categories.includes(:children, :published_pages)

Jika Anda tertarik untuk mempelajari mengapa pendekatan Anda tidak berhasil, baca dokumentasi (gulir 10-15 baris setelah Eager loading of associations bagian). Saya telah menyertakan cuplikan yang relevan di bawah ini:

Untuk memuat baris asosiasi yang difilter, gunakan asosiasi dengan kondisi:

class Post < ActiveRecord::Base
  has_many :approved_comments, :class_name => 'Comment', 
             :conditions => ['approved = ?', true]
end

Post.find(:all, :include => :approved_comments)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pilih Baris dengan Grup Nilai Kolom Maksimum dengan Kolom Lain

  2. MySQL:SUM() dengan JOIN mengembalikan nilai yang salah

  3. Kode Kesalahan:1136 Jumlah kolom tidak cocok dengan jumlah nilai pada baris 1) di dalam sp

  4. Jalankan INSERT jika tabel kosong?

  5. Konversi String Waktu ke Jam Desimal PHP