小编Dan*_*iel的帖子

定义外键有什么好处

使用处理关系的MVC框架时定义外键有什么好处?

我正在使用一个关系数据库,其框架允许模型定义与关系.因为外键是通过模型定义的,所以外键似乎是多余的.在开发中管理应用程序的数据库时,编辑/删除使用外键的表是一件麻烦事.

通过完全放弃使用外键,使用外键是否有任何优势?

sql-server database-design foreign-keys relational-database

29
推荐指数
4
解决办法
2万
查看次数

Vue 3 获取代理的值

这是我的RequestList.vue组件

<template>
  <ion-item v-for="request in requests" @click="showRequest(request)" :key="request.id"
            text-wrap>
    <ion-label>
      <b>Name:</b> {{ request.event.name }}
      <br>
      <b>Venue:</b>{{ request.event.venue.name }}
      <br>
      <b>Date:</b> {{ request.event.date }}
    </ion-label>
  </ion-item>
</template>

<script>
import {useRouter} from 'vue-router'
import {IonItem, IonLabel} from '@ionic/vue'
import store from '@/store';
export default {
  components: {
    IonLabel,
    IonItem
  },
  props: {
    requests: Array
  },
  setup(props) {
    const router = useRouter()
    const showRequest= (request)=> {
      console.log('request', props.request);
      store.requests.setRequest(props.requests);
    };
    return {router, showRequest}
  }
}
</script>
Run Code Online (Sandbox Code Playgroud)

我的store/modules/requests.js档案

import {computed, …
Run Code Online (Sandbox Code Playgroud)

ionic-framework vuejs3 vue-composition-api

25
推荐指数
2
解决办法
4万
查看次数

如何在未选择默认值的情况下设置必需的选择

我正在尝试强制用户进行选择,而不是仅仅使用第一个字段.如何在不使用javascript的情况下阻止用户提交此表单?

<select required>
  <option >Make a selection</option>
  <option value="saab">Saab</option>
  <option value="vw">VW</option>
  <option value="audi">Audi</option>
</select> 
Run Code Online (Sandbox Code Playgroud)

html html-select

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

19
推荐指数
5
解决办法
3万
查看次数

如何重新安装组件?

我有一个组件作为DOM渲染的一部分安装.应用程序的框架是

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>title</title>
  </head>
  <body>
    <div id="app">
      <my-component></my-component>
      <button>press this button to reload the component</button>
    </div>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

<my-component>功能(它显示一些表单输入)和$emit数据到父.

有没有办法重新安装它?目标是让组件内容和设置好像它是第一次渲染(包括重置data()保持其状态的元素).

一些解决方案,但他们都假设重写data(),我想避免.

我的理解是一个组件是在渲染过程中在dom中正确注入的HTML/CSS/JS代码,因此我担心"重新安装"它的概念不存在 - 我只是想在去之前确保data() - 重写方式.

vue.js vue-component vuejs2

16
推荐指数
2
解决办法
9412
查看次数

Firebase - 无效的JSON数据或键值.键值不能包含$#[] /或

我正在尝试将我的JSON文件导入我的Firebase,但它一直给我这个错误.我不知道为什么不允许导入这个JSON文件,因为JSONLint说它是一个有效的JSON文件.

这是文件:

{
  "Featured" : {
      "artist" : "james turell",
      "artistEPK" : "artistsownepk.pdf",
      "author" : "john queue author",
      "date" : "7/28/2016",
      "fullScreenImg" : "https://firebasestorage.googleapis.com/v0/b/wallplay-a8440.appspot.com/o/Screen%20Shot%202016-06-08%20at%2012.00.06%20PM.png?alt=media&token=1df5d60d-808c-48bb-a591-e005f82e4687",
      "linksToMedia" : [ "www.wallplay.com/project-name/james-t/press.html" ],
      "linksToPress" : [ "" ],
      "location" : "10 Main Street",
      "mainImg" : "https://firebasestorage.googleapis.com/v0/b/wallplay-a8440.appspot.com/o/Screen%20Shot%202016-06-08%20at%2012.00.06%20PM.png?alt=media&token=1df5d60d-808c-48bb-a591-e005f82e4687",
      "pressImgs" : [ "https://firebasestorage.googleapis.com/v0/b/wallplay-a8440.appspot.com/o/Screen%20Shot%202016-06-08%20at%2012.00.06%20PM.png?alt=media&token=1df5d60d-808c-48bb-a591-e005f82e4687", "https://firebasestorage.googleapis.com/v0/b/wallplay-a8440.appspot.com/o/Screen%20Shot%202016-06-08%20at%2012.00.06%20PM.png?alt=media&token=1df5d60d-808c-48bb-a591-e005f82e4687", "https://firebasestorage.googleapis.com/v0/b/wallplay-a8440.appspot.com/o/Screen%20Shot%202016-06-08%20at%2012.00.06%20PM.png?alt=media&token=1df5d60d-808c-48bb-a591-e005f82e4687" ],
      "pressRelease" : "projectpressrelease.pdf",
      "projectImgs" : [ "https://firebasestorage.googleapis.com/v0/b/wallplay-a8440.appspot.com/o/Screen%20Shot%202016-06-08%20at%2012.00.06%20PM.png?alt=media&token=1df5d60d-808c-48bb-a591-e005f82e4687", "https://firebasestorage.googleapis.com/v0/b/wallplay-a8440.appspot.com/o/Screen%20Shot%202016-06-08%20at%2012.00.06%20PM.png?alt=media&token=1df5d60d-808c-48bb-a591-e005f82e4687", "https://firebasestorage.googleapis.com/v0/b/wallplay-a8440.appspot.com/o/Screen%20Shot%202016-06-08%20at%2012.00.06%20PM.png?alt=media&token=1df5d60d-808c-48bb-a591-e005f82e4687" ],
      "projectSubheader" : "subheader of project",
      "projectTitle" : "title of project",
      "projectURL" : "",
      "soundFile" : [ ],
      "text" : "here there …
Run Code Online (Sandbox Code Playgroud)

json firebase firebase-realtime-database

10
推荐指数
4
解决办法
4468
查看次数

Vue 3 组合 API,如何在 setup() 函数中获取上下文父属性?

我遇到了 Vue 3(alpha 4)的问题:

setup()函数内部,我试图读取父组件。根据https://vue-composition-api-rfc.netlify.com/api.html#setup上的文档, 它应该通过context参数公开父级,作为 context.attrs 的属性或直接作为父级(参见SetupContext位在“打字”下)。我没有发现文档是否很清楚parent应该直接从SetupContext或通过访问SetupContext.attrs,所以我尝试了两种方法,但都无济于事。

这是我的问题,我可以在记录它们时很好地访问SetupContextSetupContext.attrs(这是一个代理)。SetupContext.attrs公开通常的代理属性([[Handler]],[[Target]][[IsRevoked]]),并在检查[[Target]]时清楚地显示父属性

但是,在记录父级时,它只是打印出未定义:

export default {
  setup(props, context) {
    console.log(context);
    // Output: {attrs: Proxy, slots: Proxy, emit: ƒ}
    console.log(context.attrs);
    // Output: Proxy {vnode: {…}, parent: {…}, appContext: {…}, type: {…}, root: {…}, …}
    console.log(context.attrs.parent);
    // Output: undefined
  }
};
Run Code Online (Sandbox Code Playgroud)

传播上下文会产生相同的结果:

export default { …
Run Code Online (Sandbox Code Playgroud)

vue.js vuejs3 vue-composition-api

8
推荐指数
2
解决办法
5782
查看次数

小脚印php框架建议

我正在开发一个小项目,我正在使用codeigniter php框架,但发现它对我的目的来说有点太臃肿了.

基本上我想要使数据库交互,会话和验证更简单.MVC也不错.

我正在寻找的东西有10个PHP文件顶部.当我在一个大多数html网站上添加一些PHP功能时,像CodeIgniter这样的东西就不合适了.

有什么建议 ?


编辑:

我不是在寻找模板引擎.Kohona比必要的要大一些(对我来说 - 为了我的目的).

我遇到了elf-php,有没有人使用过它?看起来它看起来像我正在寻找的必需品和一些体面的文档.但这只是一种印象.

我很难告诉Fari-MVC在没有玩弄它的情况下做了什么.我可以浏览代码并查看注释,但我没有找到更多的文档.

php frameworks

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

CFML - 查询行结构

我想通过函数处理查询中的一行,我将该行作为结构传递.

理想情况下...

<cfloop query="myquery">
 #myfunction(#row#)#
</cfloop>
Run Code Online (Sandbox Code Playgroud)

我也可以像这样设置它......

<cfloop query="myquery">
 #myfunction(#col1#,#col2#,#col3#,#col4#)#
</cfloop>
Run Code Online (Sandbox Code Playgroud)

但我不想.我找不到一个简单的提取行的方法,但我想我会问.

coldfusion cfloop

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

将数据作为对象与数组存储在 MongoDb 中以提高写入性能

考虑到写入速度,我应该将对象存储在数组中还是存储在最重要的对象中?


我正在尝试决定是将数据存储为对象数组,还是在 mongodb 文档中使用嵌套对象。

在这种特殊情况下,我会跟踪我添加和更新的一组不断更新的文件,文件名充当键以及文件中处理的行数。

该文件看起来像这样

{
  t_id:1220,
  some-other-info: {}, // there's other info here not updated frequently
  files: {
    log1-txt: {filename:"log1.txt",numlines:233,filesize:19928},
    log2-txt: {filename:"log2.txt",numlines:2,filesize:843}
  }
}
Run Code Online (Sandbox Code Playgroud)

或这个

{
  t_id:1220,
  some-other-info: {},
  files:[
    {filename:"log1.txt",numlines:233,filesize:19928},
    {filename:"log2.txt",numlines:2,filesize:843}
  ]
}
Run Code Online (Sandbox Code Playgroud)

我假设处理一个文档,尤其是涉及到更新的时候,处理对象更容易,因为对象的位置可以通过名称来确定;与数组不同,在数组中我必须查看每个对象的值,直到找到匹配项。

因为对象键会有句点,我需要转换(或删除)句点以创建有效的键(fi.le.logtofilelogfi-le-log)。我不担心文件可能出现的重复名称(例如fi.le.logfi-le.log),所以我更喜欢使用对象,因为文件数量相对较少,但更新频繁。

或者最好在单独的集合中处理这些数据以获得最佳写入性能......

{
    "_id": ObjectId('56d9f1202d777d9806000003'),"t_id": "1220","filename": "log1.txt","filesize": 1843,"numlines": 554
},
{
    "_id": ObjectId('56d9f1392d777d9806000004'),"t_id": "1220","filename": "log2.txt","filesize": 5231,"numlines": 3027
}
Run Code Online (Sandbox Code Playgroud)

javascript mongodb

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