Rust 如何获取与柴油机的关联

Rust 如何获取与柴油机的关联,rust,rust-diesel,Rust,Rust Diesel,我正在学习Rust,并尝试使用Diesel从数据库加载关联。我定义了以下模型: #[派生(可识别、可查询、部分Q、调试)] #[表_name=“联系人”] 发布结构联系人{ 酒吧id:i32, pub firstname:String, pub lastname:String, } #[派生(可识别、可查询、关联、部分Q、调试)] #[属于(联系人)] #[表_name=“电子邮件”] 发布结构电子邮件{ 酒吧id:i32, 酒吧联系人id:i32, 酒吧标签:String, 发布电子邮件:St

我正在学习Rust,并尝试使用Diesel从数据库加载关联。我定义了以下模型:

#[派生(可识别、可查询、部分Q、调试)]
#[表_name=“联系人”]
发布结构联系人{
酒吧id:i32,
pub firstname:String,
pub lastname:String,
}
#[派生(可识别、可查询、关联、部分Q、调试)]
#[属于(联系人)]
#[表_name=“电子邮件”]
发布结构电子邮件{
酒吧id:i32,
酒吧联系人id:i32,
酒吧标签:String,
发布电子邮件:String,
}
现在,我尝试使用以下代码获取所有联系人及其相关电子邮件:

let result=match contacts::table
.inner_join(电子邮件::表)
.load::(&self.conn)
{
Ok(行)=>行,
Err()=>返回Err(io::Error::new(io::ErrorKind::Other,“数据库错误”),
};
但这是行不通的。我错过了什么?这个错误是关于一个不满足的特性界限

完整错误消息:

error[E0107]:类型参数数量错误:应为1,找到2
-->src/db.rs:44:38
|
44 |加载::(&self.conn){
|^^^^^^^^^^^^^^^^^^^^^^意外类型参数
错误[E0277]:未满足特性绑定“%i32,std::string::string,std::string::string):diesel::Queryable”
-->src/db.rs:44:14
|
44 |加载::(&self.conn){
|^^^^未为`(i32,std::string::string,std::string::string)实现特性'diesel::Queryable'`
|
=帮助:找到了以下实现:
=注:由于'models::Contact'的'diesel::Queryable'impl中的要求,因此需要`
=注意:由于'diesel::query\u dsl::LoadQuery`的impl中对'diesel::query\u builder::SelectStatement'的要求,因此必需`

请发布准确的错误消息!我添加了错误消息。错误的第一部分应该是清楚的。
load
接受1个类型参数,但您提供了两个…谢谢。我终于自己解决了这个问题。
let result=match contacts::table.internal_join(emails::table)。load:(&self.conn){Ok(rows)=>rows,Err()=>return Err(io::Error::new(io::ErrorKind::Other,“Database Error”),};
类型定义必须是元组。现在只缺少获得良好结果的分组。谢谢。