小编Coo*_*ola的帖子

Laravel 多态多对多关系数据透视表与另一个模型的关系

我有如下表结构,如图所示: 数据库图

简而言之,它由几个多对多的多态关系组成,如下所示:

  • 许多resources可以有许多sources,并且数据透视表sourceables包含使数据透视表中的每一行唯一的信息catalog_numberlot_number许多资源也可能来自相同来源或不同来源,通过数据透视表上的目录号和批号来区分。

  • 许多resources也可以有许多publications附加到它,通过publicationables表与notes枢轴表

  • 许多出版物也可以描述资源的来源。

我的问题:

  1. 由于资源的来源是通过数据透视表区分的,sourceables我应该如何保存数据透视表行之间的sourceables关系publications
  2. 您可以在两者和“publicationables”之间有一个自定义中间表模型sourceables来链接到吗publications
  3. 如何检索资源及其所有出版物以及所有相应出版物的来源?

many-to-many polymorphic-associations laravel eloquent

6
推荐指数
1
解决办法
5551
查看次数

使用导入将单文件显示模块模式 javascript 转换为多文件

我是 JS 设计模式的新手,并没有使用太多requireimport。我有一个包含多个函数和私有变量的模块,它被打包成一个模块。目前所有内容都在一个文件中,但将其拆分为多个文件将是一种很好的做法,并提供更好的清晰度。模块模式的简化视图如下所示:

let Module = () => {
  //some private variables
  let private1,
      private2;

  //some public functions
  function addDatatoPrivate1 (data) {
    private1 = processData(data);
  }

  function addDatatoPrivate2 (data) {
    private2 = processData(data);
  }

  //private function processData
  function processData(data) {
    return data.trim();
  }

  return {
    addDatatoPrivate1: addDatatoPrivate1,
    addDatatoPrivate2: addDatatoPrivate2,
  }
}
Run Code Online (Sandbox Code Playgroud)

我想将函数拆分为多个文件,即单独的文件用于addDatatoPrivate1,addDatatoPrivate2processData. 此外,我想拥有这些变量,private1并且private2可以私下用于模块中的其他方法。我如何将代码拆分为多个文件,然后如何使用import将模块的不同组件打包成一个。

最终目标是让用户可以加载到他们自己的项目中并使用 d3js 或 jQuery 之类的东西。例如,使用上面的代码,任何人都可以简单地将模块分配给一个变量并像这样使用它:

  let moduleInstance = Module();
  moduleInstance.addDatatoPrivate1(' some …
Run Code Online (Sandbox Code Playgroud)

javascript import design-patterns revealing-module-pattern

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

在 R 中将函数和代码从一个文件导出和导入到另一个文件

我刚刚开始使用 R,这可能已经在之前得到了回答。在 Javascript 和 Python 等其他语言中,可以将代码拆分为多个文件,然后在项目中从一个文件导出函数并将其导入到另一个文件中。

Python 中的示例是

要从一个文件导出:

def CountWords(words):
 if words is not None:
 NumberOfWords = [Eachword.count(' ') + 1 for Eachword in words]
 return NumberOfWords
Run Code Online (Sandbox Code Playgroud)

要导入另一个文件:

from wordcounter import CountWords

# use the CountWords function here
Run Code Online (Sandbox Code Playgroud)

R 中与此等效的是什么?

code-reuse r reusability

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

使用D3.js创建数据的同步加载并在加载后进行绘制

我到达了一个阶段,我认为我不了解事件的正确回调。我正在使用d3.js v5,我的问题如下。我有一个解析tsv文件并selectedData使用该d3.tsv函数利用函数中的Promise将数据添加到全局数组的函数addData

//function takes filename and data description to add to the selectedData global variable
function addData(filename, dataDesc) {
  d3.tsv(filename, type).then ((data) => {
    data.forEach(e => {
        var obj = {
            Title: dataDesc,
            ID: e.ID,
            Value: e.Value,
        }
        selectedData.push(obj);
    });
  });
}

function type(d) {
  d.Value = +d.Value;
}
Run Code Online (Sandbox Code Playgroud)

现在,我使用此函数添加单个数据文件,或者可以多次调用它以将多个数据文件中的数据添加到此全局变量中。全局变量用于许多其他功能,但首先用于生成条形图。

对于添加单个文件,我想在将数据添加到全局变量后生成条形图。为此,我使用以下功能:

//functions adds one data file
function addOneData() {
  filename = userfile; //gets the user file name based on <input> element using the FileReader …
Run Code Online (Sandbox Code Playgroud)

javascript asynchronous promise async-await d3.js

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