我正在用Laravel6开发一个API。
我有两个模型:
CARD->带有card_id ECC的表卡。
我在模型中定义了很多对很多的关系
user.php
public function cards()
{
return $this->belongsToMany('App\Models\v1\Card');
}
card.php
public function users() {
return $this->belongsToMany('App\Models\v1\User');
}
Route::resource('v1/users', 'v1\UsersController');
Route::resource('v1/cards', 'v1\CardsController');
这个问题的最佳实践是什么?
我试图用一个响应特定endpoint的特殊控制器来解决这个问题:
Route::resource('v1/cards/{id}/users', 'v1\CardsUsersController')->only([
'index', 'store', 'destroy'
]);
但是当我需要存储信息时,我需要将卡和用户的ID传递到URL中,并作为post主体中的对象,如下所示:
[
'user_id' => $userId,
'card_id' => $cardId
]
有更好的方法吗?
多谢!
您可以使用如下所述的嵌套资源:https://laravel.com/docs/6.x/controllers#restful-nested-resources
有时您可能需要定义到“嵌套”资源的路由。例如,照片资源可能有多个“注释”,这些注释可能附加到照片。若要“嵌套”资源控制器,请在路由声明中使用“点”表示法:
Route::resource('photos.comments', 'PhotoCommentController');
此路由将注册一个“嵌套”资源,该资源可以通过以下URL访问:photos/{photos/comments/{comments}。
保存package.json依赖项的最佳实践是什么? 例如,我看到很多依赖项是不固定的,比如:
问题内容: 我已经阅读了许多有关级联和多对多关联的主题,但是我无法找到我的特定问题的答案。 我在UserProfiles和Roles之间有多对多关系。当我删除UserProfile时,我希望数据库删除联接表(userprofile2role)中的关联记录,因此要使用实际的SQL’ON DELETE CASCADE’操作。这可能吗?无论我尝试什么,Hibernate总是在不指定ON DELETE行为
问题内容: hibernate的最佳做法指出,多对多关联很少见,应避免。 不要使用外来关联映射: 真正的多对多关联的实际测试案例很少见。大多数时候,您需要存储在“链接表”中的其他信息。在这种情况下,最好将两个一对多关联用于中间链接类。实际上,大多数关联是一对多和多对一的。因此,在使用任何其他关联样式时,您应谨慎进行。 一个基本且常见的情况是:用户可以在多个团队中,一个团队可以有多个成员。 除了为联
不幸的是,Quarkus关于用Panache使用MongoDB的指南没有提到什么被认为是处理实体的一对多关系的最佳实践。注意:我想为依赖的子文档建模,但作为一个独立的实体。MongoDB站点演示了这种模式:用文档引用建模一对多关系,这样您就必须在存储库中查找链接到父ID的所有实体。 Quarkus(Panache)目前是否提供了任何使查找更方便的方法? PS:似乎从2020年5月开始有一个开放的增
我还想知道如何定义每个模型上的关系--你是否需要或者是否可以只在用户上定义关系?
问题内容: 我正在尝试创建一个消息传递系统,其中消息的发送者和接收者可以是通用实体。对于发件人来说,这似乎很好,在该发件人中只有要引用的对象(GenericForeignKey),但我不知道如何为收件人进行处理(GenericManyToManyKey ??)。 下面是一个简化的示例。PersonClient和CompanyClient从Client继承属性,但具有其自己的特定详细信息。最后一行是