简体   繁体   English

Rust, Diesel -- 需要导入什么才能获得所有权 function

Rust, Diesel -- what needs to be imported to get the belonging_to function visible in a different scope

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文简体   中文繁体   英文版本 版本,有任何建议请联系yoyou2525@163.com。

New to diesel, and I'm working through the getting started demo, but adding associations with a user who can post.柴油新手,我正在完成入门演示,但添加了与可以发布的用户的关联。 When I try to use the belonging_to() function, it gives the following error:当我尝试使用 belongs_to() function 时,会出现以下错误:

no function or associated item named belonging_to found for struct diesel_demo::models::Post in the current scope function or associated item not found in diesel_demo::models::Post在当前 scope belonging_to或相关项目中找不到diesel_demo::models::Post diesel_demo::models::Post function 或关联项目

I used the Associations macro on the struct, and I thought that was enough to get the belonging_to function working, but I'm missing something.我在结构上使用了 Associations 宏,我认为这足以让 belongs_to function 工作,但我错过了一些东西。

Here is a simple query where I try to use belonging_to(), but this fails.这是一个简单的查询,我尝试使用 belongs_to(),但是失败了。

#[macro_use] extern crate diesel_demo;

use diesel::prelude::*;
use crate::diesel_demo::*;
use crate::diesel_demo::models::*;

fn main() {
    use diesel_demo::schema::posts::dsl::*;
    use diesel_demo::schema::users::dsl::*;

    let connection = establish_connection();
    let test_id = 2;
    let user = users.find(test_id).first::<User>(&connection).expect("error getting user");
    
    let post_list = Post::belonging_to(&user)
        .load::<Post>(&connection)
        .expect("Error loading user posts");

    println!("{:?}", post_list);

}

And here is the models.rs file where the structs live.这是结构所在的 models.rs 文件。

use super::schema::{posts, users};

#[derive(Identifiable, Queryable, PartialEq, Debug)]
#[diesel(table_name = users)]
pub struct User {
    pub id: i32,
    pub name: String,
}

#[derive(Insertable)]
#[table_name = "users"]
pub struct NewUser<'a>{
    pub name: &'a str,
}


#[derive(Identifiable, Associations, Queryable, PartialEq, Debug)]
#[diesel(belongs_to(User))]
pub struct Post {
    pub id: i32,
    pub user_id: i32,
    pub title: String,
    pub body: String,
    pub published: bool,
}

#[derive(Insertable)]
#[table_name = "posts"]
pub struct NewPost<'a>{
    pub user_id: &'a i32,
    pub title: &'a str,
    pub body: &'a str,
    pub published: &'a bool,
}
问题暂未有回复.您可以查看右边的相关问题.
1 “参数要求在使用与 tokio-diesel 的关联时为“静态”借用“记录” - “argument requires that `record` is borrowed for `'static`” when using belonging_to associations with tokio-diesel

我正在尝试使用 Tokio-Diesel 将async / await与我的 ORM 一起使用。 我无法使用 Diesel 的belonging_to关联,因为它抱怨我需要静态生命周期。 我试过异步块,但没有改变生命周期错误。 Cargo.toml 主文件 #[macro_use] exte ...

2 Rust Diesel Abstract 更新函数 - Rust Diesel Abstract update function

我目前正在尝试实现抽象函数,该函数将更新数据库中任何表的一些元字段,但遇到 Identifiable 问题。 我有一个数据库,其中每个表都有元字段: 我想实现一个可以为每个实体进行更新的功能。 目前我有这个实现: 当我尝试调用它时,它显示此错误: 在这个例子中我试图更新的一个实体是: ...

4 Linux ELF文件:如何获取属于导入函数的共享对象 - Linux ELF file: How to get the shared object belonging to an imported function

给定动态链接的ELF二进制文件,例如/bin/less 。 在二进制文件中,有一个对共享库提供的函数的调用,例如strcpy() 如何找出获取strcp函数的共享库/共享对象? 换句话说,我想获得对func_name / shared_obj_name.so。 迈克尔斯莱德在 ...

6 TemplateHaskell似乎没有报告它需要导入的功能 - TemplateHaskell seems to not be reporting what function it needs to be imported

这个导入: 失败,出现以下错误: 导入更改为: 一切正常。 添加toEnum到导入列表Data.Singletons.TH将失败: 从我可以告诉代码的部分导致这是在这里: 实际需要添加到导入列表中以使一切正常工作的功能是什么? 为什么错误消息中未报 ...

10 rust-diesel 上没有缓存 - No cache on rust-diesel

我使用 MySQL 作为我的数据库,并使用柴油来检索数据。 数据每秒从多个端点更新。 问题是在使用柴油检索数据时,我得到的结果已经过时(可能是由于柴油端的缓存)。 MySQL 使用SET GLOBAL query_cache_size = 0运行,因此数据库服务器端没有活动缓存。 这是我检索数据 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM