小编Mat*_*s S的帖子

多个相似实体的数据库最佳实践

我有一个非常简单的问题,涉及两种选择,我不知道该选择哪一种。我有可以是“联系人”的实体。一个“联系人”可以有多个电子邮件地址、多个电话号码和多个地址。在我的数据模型中,我创建了实体联系人,它与实体的电子邮件、电话和地址具有一对多的关系。现在,表电子邮件只有字段“电子邮件”和“评论”,电话具有类似的结构“电话号码”和“评论”。

在此输入图像描述

将它们保留在两个不同的表中是否“更好”,或者我应该制作一个表,将其命名为“详细信息”或其他名称,列为“值”、“类型”和“评论”,类型为“电子邮件”或“电话号码'。

在此输入图像描述

我正在使用 L4 并通过 Eloquent 模型,我希望可以轻松地编写一些方法,为我提供与不同表相同的功能。但我觉得用字符串来分隔不同类型的信息是错误的。感觉这样比较容易犯错误。通过急切加载,即使我有 2 个表,我也希望不会有更多的查询。仅供参考,电话/电子邮件中的行数肯定会低于 10.000。

我选择什么类型有什么影响吗?你会怎么办?为什么?

感谢您的帮助,

亲切的问候

mysql database eloquent laravel-4

5
推荐指数
1
解决办法
2307
查看次数

将函数作为属性传递给Vue组件

我正在尝试使我的Vue组件可重用,但其中有一部分需要在按钮单击上运行一个函数,我在父组件中定义了该函数.组件的按钮将始终运行父函数,它传递的参数始终相同(唯一的其他属性).

现在我将2个属性传递给组件:1)一个对象和2)父函数引用,它需要来自1)的对象作为参数.

儿童 -component看起来像这样(去除不必要的代码):

<button v-on:click="parentMethod(placement)">Analyze</button>

Vue.component('reporting-placement', {
    props: ['placement', 'method'],
    template: '#reporting-placement',
    methods: {
        parentMethod: function(placement) {
            this.method(placement);
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

家长是利用这样子的:

<reporting-placement v-bind:placement="placement" v-bind:method="analyzePlacement"></reporting-placement>

methods: {
        analyzePlacement: function(placement) {
            this.active_placement = placement;
        },
    }
Run Code Online (Sandbox Code Playgroud)

如您所见,子项只有一个属性placement,以及回调引用.在placement必须放在作为参数从父参考作用.

但是由于父级定义了参数,因此子级不应该关注它需要传递给父函数的内容.相反,我宁愿已经在父对象中传递参数.

而不是

<reporting-placement v-bind:placement="placement" v-bind:method="analyzePlacement"></reporting-placement>
Run Code Online (Sandbox Code Playgroud)

我会比较喜欢

<reporting-placement v-bind:placement="placement" v-bind:method="analyzePlacement(placement)"></reporting-placement>
Run Code Online (Sandbox Code Playgroud)

(包括孩子的适当变化).但传递参数不会那样.是否有可能(可能在其他语法中)将变量"绑定"到函数引用,以便在调用回调时自动传递?

信息:如果我将其写下来,我没有收到错误信息,但是当我将参数传递给组件时,整个Vue都会搞砸.

希望问题很清楚:-)非常感谢!

vue.js vue-component vuejs2

5
推荐指数
1
解决办法
5702
查看次数

使用 CDK 将 AWS SM 密钥传递到 Lambda 环境

我在获取特定 Secrets Manager Secret 键值以通过 CDK 将其传递给我的 lambda 时遇到一些问题。

一段时间后,我终于意识到,SecretValue 只有当我实际将其部署到 lambda 时,我的问题才得到解决,而不是通过 SAM CLI 在本地运行时得到解决。通过做

cdk.SecretValue.secretsManager(secretId).toString()
Run Code Online (Sandbox Code Playgroud)

我得到类似的东西"{\"apiKey\":\"sdfsdf-sdfsdf-sddsf\"}",但我想直接拥有 apiKey 。不幸的是,在我的 CDK 代码中,我不能JSON:parse(...secretsManager(..).toString()) ,因为这只有在部署后才能解决。之前,该值很简单:( {{resolve:secretsmanager:apiKey:SecretString:::}}这似乎是一个令牌: https: //docs.aws.amazon.com/cdk/latest/guide/tokens.html

所以我想我需要某种方法来告诉 CDK 如何使用渲染值,也许通过传递一个转换渲染结果的回调 - 这可能吗?我可以在 CDK 设置中使用任何其他工具来允许我从秘密接收特定密钥,以便我可以将其直接传递给 lambda 吗?

我希望这个问题是可以理解的。在此先感谢您的帮助。

amazon-web-services typescript aws-cdk

3
推荐指数
2
解决办法
1万
查看次数