我已经阅读了一些关于如何处理数据库连接的StackOverflow答案.由于它是一个池,我们可以在全局定义它并在多个goroutine中使用它并且它是安全的.
我遇到的问题是我已将REST API拆分为多个包.这些包中的每一个都需要数据库连接,因此我在启动时打开数据库连接.但即使我全局定义连接,它也只是在包级别.我可以做些什么来在多个包中分享它?
对于某些上下文,我在我的应用程序中使用PostgreSQL驱动程序和gin-gonic.
Polls.update({_id: id}, {$set : {already_voted[length]: ip});
Run Code Online (Sandbox Code Playgroud)
现在这显然不起作用.我不能简单地在其中添加变量"length".
基本上我有already_voted一个数组,我想在这个数组中添加一个新的ip.我当前处理这个的方法是获取旧的长度并使用旧的长度作为添加元素的新索引.
我想知道我应该怎么做,因为我目前的设置不起作用.
澄清一下:我没有整个数组,我只想在Poll文档的数组中添加一个新元素.
我在流星文档中找不到流星的滚动事件.当有人在流星应用程序中滚动窗口时,我该如何做某事?
我试过'scroll window' : function(event) { ... }哪个不能按预期工作.
使用ember-starter-kit我所要做的就是把它的内容扔到/my_laravel_app/public文件夹中,一切都很好.
现在我正在尝试用laravel和创建一个项目ember-cli
关于如何构建我的应用程序,我有点困惑?我应该在哪个laravel文件夹中运行ember new my-app命令?此外,我如何使用它apache来测试我的ember-cli应用程序而不是使用ember server命令,因为我需要使用我的laravel生成的apis来测试它.
任何帮助深表感谢!
因此,belongsToMany关系是多对多关系,因此需要数据透视表
例如,我们有一个users表,一个roles表和一个user_roles数据透视表.
枢轴表有两列,user_id,foo_id... foo_id指的是id在角色表.
为此,我们在user雄辩的模型中编写以下内容:
return $this->belongsToMany('Role', 'user_roles', 'user_id', 'foo_id');
现在,这个寻找一个id在外地users表,并与加入它user_id在该领域user_roles表.
问题是我想指定一个不同的字段,而不是id在users表中加入.例如,我bar_id在users表中有我想用作local key加入的表user_id
从laravel的文档来看,目前尚不清楚如何做到这一点.在其他关系,喜欢hasMany和belongsTo我们可以指定local key和foriegn key,但不会在这里的某些原因.
我希望local key用户表上的bar_id而不仅仅是id.
我怎样才能做到这一点?
我的模型A和模型B位于两个不同的数据库中.
现在我a_bs在与模型相同的数据库中调用了一个pivot_table A.
我在模型中设置了这样的belongsToMany relatinoship A
public function bs()
{
return $this->belongsToMany('B', 'a_bs', 'a_id', 'b_id');
}
Run Code Online (Sandbox Code Playgroud)
当我尝试访问这种关系时:
$a = A::find($id);
print_r($a->bs->lists('id'));
Run Code Online (Sandbox Code Playgroud)
我得到一个错误,我的数据透视表在模型B的数据库中不存在.这显然是正确的,因为数据透视表位于模型A的数据库中.我怎么能让Laravel知道呢?
不建议将数据透视表放在模型B的数据库中
所以我正在尝试将pikaday日期选择器添加到Ember-CLI应用程序.
我的笔记本中有以下内容 /app/views/calendar-view.js
import Ember from 'ember';
export default Ember.TextView.extend({
modelChangedValue: function(){
console.log(this.get('value'));
}.observes("value"),
didInsertElement: function(){
currentYear = (new Date()).getFullYear();
formElement = this.$()[0];
picker = new Pikaday({
field: formElement,
yearRange: [1900,currentYear+2]
});
this.set("_picker", picker);
},
willDestroyElement: function(){
picker = this.get("_picker");
if (picker) {
picker.destroy();
}
this.set("_picker", null);
}
});
Run Code Online (Sandbox Code Playgroud)
我的主要问题是如何将插件本身添加到ember-cli中?
这是pikaday的github链接:https://github.com/dbushell/Pikaday
更具体地说,我认为这部分可能很重要,因为Ember-CLI使用AMD:https://github.com/dbushell/Pikaday#amd-support
那么如何将插件本身添加到ember-cli?
出于某种原因,这根本不起作用.
{{user_slugged username}}
这{{username}}是模板可用的变量.但是,它在助手中给出了一个null/undefined值.
这是我的帮手代码
UI.registerHelper('user_slugged', function(username) {
... other stuff... return things.
}
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是,当我尝试这样的事情时,{{user_slugged 'Hello'}}它会做正确的事情并返回预期的结果.
但是,当我尝试{{user_slugged username}}它时似乎不起作用,即使我可以轻松地显示{{username}}在同一行代码中.
这看起来很奇怪,现在我正在考虑向把手发送参数的方式助手可能已经改变了Meteor 0.8.0.如果是这样,如果有人能指出我正确的方向或给我一个问题的答案,那就太棒了.
编辑:澄清我能够使用{{username}}相同的行,{{user_slugged username}}因此这样的工作
<a href="{{user_slugged username}}">{{username}}</a>
username 是一个对象属性,在模板中可用,并且我试图将其作为参数发送给帮助程序.
目前我有这样的模型设置
App.Specialty = DS.Model.extend({
//specialty_id: attr(),
name: attr()
});
Run Code Online (Sandbox Code Playgroud)
它有一个从json api返回的primaryKey,specialty_id而不是id(ember数据可能预期的).
因此,不要弄乱任何ember数据获取两个对象,其中一个使用id作为任何参数,第二个它获取正确的对象但id为undefined.
如何让ember数据知道它应该搜索specialty_id?
所以我知道这个答案就是隐藏不适合图表的文字:如果有足够的空间,D3会将圆弧标签放在饼图中
但我无法弄清楚如何将其引入下面的代码中.我已编辑此代码以使其在查看时仅看到第二个内圈.但即使这样,许多标签也没有足够的空间来适应各自的切片.所以我想添加更多逻辑,只是为了检查文本是否适合.
或者甚至更简单的是,如果切片不占据整个圆圈的至少10%的分区,则隐藏它.
这是JS小提琴:
http://jsfiddle.net/P79kX/ 这不是一个完美的JSFiddle,它并不完全反映我的代码.但概念是一样的,检查边界框.
这是代码:
var width = 840,
height = width,
radius = width / 2,
x = d3.scale.linear().range([0, 2 * Math.PI]),
y = d3.scale.pow().exponent(1.3).domain([0, 1]).range([0, radius]),
padding = 5,
duration = 1000;
var div = d3.select("#chart_render");
div.select("img").remove();
var vis = div.append("svg")
.attr("width", width + padding * 2)
.attr("height", height + padding * 2)
.append("g")
.attr("transform", "translate(" + [radius + padding, radius + padding] + ")");
var partition = d3.layout.partition()
.sort(null)
.value(function(d) { return d.size }); …Run Code Online (Sandbox Code Playgroud)