de-vraag
  • Pertanyaan
  • Tag
  • Pengguna
Notifikasi
Imbalan
Registrasi
Setelah Anda mendaftar, Anda akan diberitahu tentang balasan dan komentar untuk pertanyaan Anda.
Gabung
Jika Anda sudah memiliki akun, masuk untuk memeriksa pemberitahuan baru.
Akan ada hadiah untuk pertanyaan, jawaban, dan komentar tambahan.
Lebih
Sumber
Sunting
 wendigooor
wendigooor
Question

Rel order oleh asosiasi bidang

Saya memiliki model berikut

class User
  attr_accesible :first_name, :phone_number
  has_one :user_extension
end

class UserExtension
  attr_accessible :company, :user_id
  belongs_to :user
end

Saya punya tabel yang berisi semua pengguna. Dan saya perlu untuk mengurutkan tabel ini dengan first_name, phone_number, perusahaan. Dengan first_name, phone_number I don't memiliki masalah, agar bekerja dengan baik, dalam contoh

@users = User.order("first_name desc")

tapi aku juga perlu mengurutkan oleh perusahaan dan don't tahu bagaimana untuk melakukannya.

Dan saya bisa mendapatkan nama perusahaan dengan cara ini

@user.user_extension.company

Jadi saya memiliki masalah dengan sql, yang akan memberi saya semua pengguna yang dipesan oleh perusahaan. DB: PostgreSQL. Terima kasih.

Edit:

Aku harus memberikan informasi lebih lanjut tentang model ini.

create_table "user_extensions", :force => true do |t|
  t.integer  "user_id"
  t.string   "company"
end

create_table "users", :force => true do |t|
  t.string   "first_name"
  t.string   "phone_number" 
end

Juga, saya mencoba menggunakan join

User.joins(:user_extension).order("user_extension.company desc")

dan apa yang saya dapatkan

 User Load (1.6ms)  SELECT "users".* FROM "users" INNER JOIN "user_extensions" ON "user_extensions"."user_id" = "users"."id" ORDER BY user_extension.company desc
PG::Error: ERROR:  relation "user_extensions" does not exist

pada

User.includes(:user_extension).order("user_extension.company desc")

saya juga mendapatkan

PG::Error: ERROR:  relation "user_extensions" does not exist

Diselesaikan Memiliki masalah dengan saya bd, semua bergabung bekerja dengan baik.

44 2013-10-27T09:38:33+00:00 3
 wendigooor
wendigooor
Pertanyaan edit 28 Oktober 2013 в 7:06
Pemrograman
sql
ruby-on-rails
postgresql
Solution / Answer
 user2503775
user2503775
27 Oktober 2013 в 11:11
2013-10-27T11:11:55+00:00
Lebih
Sumber
Sunting
#22632903

Coba ini:

@users = User.includes(:user_extension).order("user_extensions.company desc")

Saya pikir anda perlu di order: user_extensions, bukan user_extension

94
0
Gary  S. Weaver
Gary S. Weaver
13 September 2016 в 8:29
2016-09-13T20:29:48+00:00
Lebih
Sumber
Sunting
#22632904

Gabung dapat membuat query yang lebih kecil/lebih waras-cari, dan itu mengacu cepat bagi saya di Rel 4.x:

@users = User.joins(:user_extension).merge(UserExtension.order(company: :desc))
14
0
 roganartu
roganartu
27 Oktober 2013 в 10:05
2013-10-27T10:05:00+00:00
Lebih
Sumber
Sunting
#22632902

@user = Pengguna.order("user_extension.perusahaan desc") harus bekerja dengan baik.

11
0
Related communities 3
PostgreSQL Indonesia
PostgreSQL Indonesia
2 225 pengguna
Buka telegram
Ruby Indonesia
Ruby Indonesia
1 769 pengguna
Ruby adalah bahasa pemrograman dinamis berbasis skrip yang berorientasi objek. Tujuan dari ruby adalah menggabungkan kelebihan dari semua bahasa-bahasa pemrograman skrip yang ada di dunia.
Buka telegram
PostGIS Indonesia
PostGIS Indonesia
194 pengguna
PostGIS Users Group Indonesia
Buka telegram
Tambahkan pertanyaan
Kategori
Semua
Teknologi
Budaya / Rekreasi
Kehidupan / Seni
Ilmu Pengetahuan
Profesional
Bisnis
Pengguna
Semua
Baru
Populer
1
Asilbek Qadamboyev
Terdaftar 6 jam yang lalu
2
Akshit Mehta
Terdaftar 2 hari yang lalu
3
me you
Terdaftar 5 hari yang lalu
4
Никита иванов
Terdaftar 1 minggu yang lalu
5
Alex1976G_06
Terdaftar 1 minggu yang lalu
ID
KO
RU
© de-vraag 2022
Sumber
stackoverflow.com
di bawah lisensi cc by-sa 3.0 dengan atribusi