operasi persatuan meja
JFinal ActiveRecord secara semula jadi menyokong operasi persatuan meja, dan tidak perlu mempelajari perkara baharu. Tiada muslihat untuk menang. Terdapat dua kaedah utama untuk operasi perkaitan jadual: satu ialah menggunakan sql secara langsung untuk mendapatkan data yang berkaitan; satu lagi ialah menambah kaedah untuk mendapatkan data berkaitan dalam Model.
Andaikan terdapat dua jadual pangkalan data sedia ada: pengguna dan blog, dan terdapat hubungan satu-ke-banyak dari pengguna ke blog Jadual blog berkaitan dengan jadual pengguna menggunakan user_id. Kod berikut menunjukkan menggunakan kaedah pertama untuk mendapatkan nama_pengguna:
String sql = "select b.*, u.user_name from blog b inner join user u on b.user_id = u.id where b.id=?";
Blog blog = Blog.dao.findFirst(sql, 123); String name = blog.getStr("user_name");
}
The kod berikut Tunjukkan cara kedua untuk mendapatkan Pengguna yang berkaitan dalam Blog dan dapatkan Blog yang berkaitan dalam Pengguna:
Blog akhir statik awam dao = Blog baru();
Pengguna awam getUser () {
return User.dao.findById(get("user_id"));
}
}
kelas awam Pengguna memanjangkan Model<Pengguna>{
Pengguna akhir statik awam dao = Pengguna baharu();
Senarai awam< Blog> getBlogs() {
kembali Blog.dao.find("select * from blog where user_id=?", get("id"));
}
}