one-to-many 相关问题

一对多是两个不同对象属性之间的关系。

更新后一对多关系为空值

我想与 2 个不同的对象创建一对多关系。例如: 这里是A类 @塞特 @盖特 @Builder @ToString @AllArgsConstructor @NoArgs构造函数 @实体 @Table(名称=“a”) p...

回答 1 投票 0

在Spring Boot中如何更新具有OneToMany关系的字段

我是 Spring Boot 新手。我正在尝试做一些例子来学习。 我有 2 个用户“个人资料”和“地址”的权利。 配置文件可以有多个地址。 公开课地址{ @...

回答 1 投票 0

Java | JPA |休眠| AnnotationException:使用 @OneToMany 或 @ManyToMany 定位未映射的类

我正在接触 Java Spring Boot 2.7.15,但遇到了一些麻烦。我已经应用了几种解决方案,但它们都导致标题中出现相同的错误。 一些背景: 我建...

回答 1 投票 0

如何在 Django 中跨多个一对多关系使用 prefetch_lated?

我的目标是使用 prefetch_lated 在一个 Django 查询中获取我的所有模型和相关模型,从而在迭代相关模型时不会访问数据库。 假设我有以下模式...

回答 2 投票 0

OneToMany 带注释列表中的重复项

我正在使用 JPA 2 + Hibernate 4.2.6 开发一个 Java 项目,但我遇到了奇怪的行为。 在我的模型中,我有两个相关的实体:问题和答案 @实体 公开课问题{ //...

回答 2 投票 0

如何在主模型上查询带条件的一对多关系

我知道这是可能的,也许我已经做过了,我需要刷新我的记忆。假设我们有一对多 $post->评论 而且我要 对此帖子的评论,其中评论日期大于

回答 1 投票 0

Spring boot 与 oneToMany 关系,问题双对象

我的 Spring Boot 项目有一个小问题,为了向您展示我的问题,我创建了第二个项目。所以我有两门课程,其中一门是关于 OneToMany 与另一门的关系。我的两个班级 @Ent...

回答 1 投票 0

我刚刚学习 Laravel,我正在尝试实现一本书和一篇评论之间的一对多关系,但是播种失败,不知道为什么

书籍模型 书籍模型 <?php namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; class Book extends Model { use HasFactory; public function reviews(){ // a book can have many reviews return $this->hasMany(Review::class); // i tried //return $this->hasMany(Review::class, 'book_id'); //but it didn't solve the problem } } 审查模型 <?php namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; class Review extends Model { use HasFactory; public function books(){ // a review is tied to one book return $this->belongsTo(Book::class); // I tried //return $this->belongsTo(Book::class,'book_id'); //but it didn't work } } Book 模型的迁移文件 public function up() : void { Schema::create('books', function (Blueprint $table) { $table->id(); $table->string('title'); $table->string('author'); $table->timestamps(); }); } Review模型的迁移文件 public function up() : void { Schema::create('reviews', function (Blueprint $table) { $table->id(); $table->text('review'); $table->unsignedTinyInteger('rating'); $table->timestamps(); //?defining the foreign key // $table->unsignedBigInteger( 'book_id' ); // $table->foreign( 'book_id' ) ->references( 'id' )->on( 'books' )->onDelete( 'cascade' ); //?a shorter syntax $table->foreignId('book_id')->constrained()->cascadeOnDelete(); }); } BookFactory 文件 public function definition() : array { return [ 'title' => fake()->sentence(3), 'author' => fake()->name, 'created_at' => fake()->dateTimeBetween('-2 years'), 'updated_at' => fake()->dateTimeBetween('created_at', 'now') ]; } 评论工厂 class ReviewFactory extends Factory { /** * Define the model's default state. * * @return array<string, mixed> */ public function definition() : array { return [ 'book_id' => null, 'review' => fake()->paragraph, 'rating' => fake()->numberBetween(1, 5), 'created_at' => fake()->dateTimeBetween('-2 years'), 'updated_at' => fake()->dateTimeBetween('created_at', 'now') ]; } //? Create state methods to create more diversity in the generated data public function good(){ return $this->state(function (array $attributes) { return [ 'rating' => fake() -> numberBetween(4,5) ]; }); } public function average(){ return $this->state(function (array $attributes) { return [ 'rating' => fake() -> numberBetween(2,5) ]; }); } public function bad(){ return $this->state(function (array $attributes) { return [ 'rating' => fake() -> numberBetween(1,3) ]; }); } } DatabaseSeeder.php 文件 public function run() : void { Book::factory(34)->create()->each(function ($book) { $numReviews = random_int(5, 30); Review::factory() ->count($numReviews) //the number of the reviews generated ->good() // using the state method to define the 'rating' ->for($book) // associating the records to the current generated book ->create(); }); Book::factory(33)->create()->each(function ($book) { $numReviews = random_int(5, 30); Review::factory() ->count($numReviews) ->average() ->for($book) ->create(); }); Book::factory(33)->create()->each(function ($book) { $numReviews = random_int(5, 30); Review::factory() ->count($numReviews) ->bad() ->for($book) ->create(); }); } 运行“php artisan migrate:refresh --seed”时收到的错误消息 INFO Rolling back migrations. 2023_08_17_222856_create_reviews_table ...................................... 18ms DONE 2023_08_17_222848_create_books_table ......................................... 7ms DONE 2019_12_14_000001_create_personal_access_tokens_table ........................ 8ms DONE 2019_08_19_000000_create_failed_jobs_table ................................... 7ms DONE 2014_10_12_100000_create_password_reset_tokens_table ......................... 7ms DONE 2014_10_12_000000_create_users_table ......................................... 7ms DONE INFO Running migrations. 2014_10_12_000000_create_users_table ........................................ 33ms DONE 2014_10_12_100000_create_password_reset_tokens_table ........................ 36ms DONE 2019_08_19_000000_create_failed_jobs_table .................................. 24ms DONE 2019_12_14_000001_create_personal_access_tokens_table ....................... 34ms DONE 2023_08_17_222848_create_books_table ......................................... 9ms DONE 2023_08_17_222856_create_reviews_table ...................................... 45ms DONE INFO Seeding database. Illuminate\Database\QueryException SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'book_id' cannot be null (Connection: mysql, SQL: insert into `reviews` (`book_id`, `review`, `rating`, `created_at`, `updated_at`) values (?, Officiis consequatur temporibus maxime sequi laudantium et. Nam non voluptas est ea. Id fugit et amet deserunt ullam laborum eveniet. Harum eos ratione voluptate debitis qui sequi., 5, 2022-11-02 05:18:02, 2022-12-06 12:41:24)) at vendor\laravel\framework\src\Illuminate\Database\Connection.php:795 791▕ // If an exception occurs when attempting to run a query, we'll format the error 792▕ // message to include the bindings with SQL, which will make this exception a 793▕ // lot more helpful to the developer instead of just the database's errors. 794▕ catch (Exception $e) { ➜ 795▕ throw new QueryException( 796▕ $this->getName(), $query, $this->prepareBindings($bindings), $e 797▕ ); 798▕ } 799▕ } 1 vendor\laravel\framework\src\Illuminate\Database\Connection.php:580 PDOException::("SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'book_id' cannot be null") 2 vendor\laravel\framework\src\Illuminate\Database\Connection.php:580 PDOStatement::execute() 我原本希望找到 100 本书,每本书有 5 到 30 条评论,但当我检查 phpMyAdmin 时,我发现只有 34 本书被种子化,而且根本没有评论被种子化,但我发现外键列已添加到评论表中。 好吧,这里有很多东西要解压。 在您的审查模型中,所属函数的名称应该是单数。所以它是 book() 不是 books()。 您忘记注释掉审核迁移文件中的 ->references( 'id' )->on( 'books' )->onDelete( 'cascade' ); 行。 在您的 Book- 和 ReviewFactory 中,您有 faker()->name 和 faker()->paragraph ,它们应该是函数,所以 faker()->name() 和 faker()->paragraph() 在您的 Book- 和 ReviewFactory 中,您有 fake()->dateTimeBetween('-2 years')。我不是 100% 舒尔,但我认为它应该采用 0 或 2 个参数,例如 fake()->dateTimeBetween('-2 years', 'now') ...这就是您的错误消息的来源。在您的 ReviewFactory 中您有 'book_id' => null。只需删除这一行即可。 在 DatabaseSeeder 中,您的代码可能如下所示: public function run(): void { $book = Book::factory(34) ->has(Review::factory()->count(random_int(5, 30)), 'reviews') ->create(); }

回答 1 投票 0

Hibernate 和 H2 OneToMany 双向映射的“引用完整性约束违规”

所以我有两种简单的豆子——FatKid 和汉堡包。现在,由于我不知道的原因,我不仅需要能够查找某人吃过的所有汉堡包,还需要能够查找谁吃了哪个特定的

回答 2 投票 0

与 OneToMany 和使用 hibernate 获取数据相关的错误

如您所见,我有两个类 Person 和 Item,以及它们在数据库中相应的表,在 App 类中我试图使用一对多关系获取一个人的所有事物。 ..

回答 1 投票 0

PostgreSQL 中的多对多关系

数据库中有两个表。 第一个表是“用户”。它有两列。 user_id 列和sector_id 列。 用户可以关注多个扇区。哪个...

回答 0 投票 0

通过多对一关系引用另一个实体的 Dto 属性?

我有 2 个实体通过一对多/多对一关系相互关联。对于此示例,我们将它们称为“用户和照片”。 一个用户有很多照片,很多照片有一个用户 @E...

回答 0 投票 0

我想要使用一对多关系制作的 .net web api 的以下 json 结果,那么我如何编码模型

用于发布课程 { “课程ID”:1, “标题”:“php” } 用于发布学生 { “学生ID”:1, “名称”:“公羊”, “可...

回答 0 投票 0

Hibernate @OneToMany 注释似乎不起作用

我正在尝试获取包含我的“FileData”的“Ticket”实体,但我无法让它工作,而且我完全不知道为什么。其他人的代码似乎与

回答 1 投票 0

如何根据其中一个表的外键列指向十几个表中的任何一个来设计一个或多个 SQL 表?

大约有十几个表代表对潜在客户的许多不同检查的结果(使用 SQLModel 范例)。 建议的表有一个元类“CheckResult”w ...

回答 0 投票 0

How to express a One-To-Many in Django relationship without using foreignkey in class on side many-relation?

我有一个管理公司资产的项目。资产是项目的核心。我需要用资产表达一对多关系和多对多关系,我知道的唯一方法是: 类列表(模型。M ...

回答 0 投票 0

在一对多关系中添加实体

我正在尝试使用 Spring Boot、MySQL 和 HTML 制作应用程序,但我遇到了问题。我有两个实体,称为 Establecimiento 和 Valoracion。我的想法是一个机构可以有多个...

回答 0 投票 0

T-SQL 查询获取所有数据库关系和关系多重类型

我需要一个 T-SQL 查询来获取 SQL Server 数据库中的所有关系,并了解每个关系都是多顺序的,例如一对一、一对多和多对多关系。 我可以全部拿走

回答 0 投票 0

尝试添加到一对多关系时的空指针

有很多关于一对多关系的空指针的问题,但我没有看到这个问题的答案。 我有一个非常简单的案例: 公务舱飞机 { 公众...

回答 0 投票 0

Symfony - 一对多,一个活跃

我想问一下在 Symfony 中最好的方法是什么。 例如。有一个实体用户与另一个实体地址具有一对多关系。 假设用户可以多次交付

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.