小编Nil*_*ils的帖子

在Doctrine2中使用部分查询和复合键时,"无映射字段"

我有两个名为Person和的模型Tag.一个人有很多标签,标签主键是person_idtag(Person $person$tagDoctrine2中)的复合键.

模型中有一个包含大量数据的数据字段(BLOB)Tag.我正在设置一个不需要该字段数据的查询,因此我想设置一个不检索该字段的查询.

我尝试使用以下查询:

SELECT c, PARTIAL t.{tag} FROM Contact c LEFT JOIN c.tags
Run Code Online (Sandbox Code Playgroud)

在这里,我得到了一些预期的错误.类Tag的部分字段选择必须包含标识符.没问题,我添加联系人字段:

SELECT c, PARTIAL t.{contact,tag} FROM Contact c LEFT JOIN c.tags
Run Code Online (Sandbox Code Playgroud)

但是现在,我得到了类Tag上没有名为'contact'的映射字段.

Doctrine2不支持对复合键进行部分查询吗?

这是Tag类:

/** @Entity @Table(name="tag") **/
class Tag
{
    /** @Id @ManyToOne(targetEntity="Contact",inversedBy="tags") @var Contact **/
    protected $contact;
    /** @Id @Column(type="string",length=10,nullable=false) @var string **/
    protected $tag;
    /** @Column(type="blob") **/
    protected $data;
}
Run Code Online (Sandbox Code Playgroud)

php doctrine composite-primary-key doctrine-orm

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

在Backive.js的Rivets.js中使用自定义绑定器时,向按钮添加"无线电"功能

我正在使用Rivets.js将元素绑定到我的模型.我正在使用Twitter的Bootstrap进行设计,并设置了三个按钮,可以从值1,2和3中选择(功能上相当于单选按钮).

我在按钮组中设置了三个按钮,如下所示:

<div class="btn-group" id="input_level" data-toggle="model.level">
    <button data-toggle-value="1" class="btn active">One</button>
    <button data-toggle-value="2" class="btn">Two</button>
    <button data-toggle-value="3" class="btn">Three</button>
</div>
Run Code Online (Sandbox Code Playgroud)

我添加了一个自定义toggle绑定器,如下所示:

rivets.binders.toggle = function(el,value){
    $(el).find('button[data-toggle-value="' + value + '"]')
        .addClass('active').siblings().removeClass('active');
}
Run Code Online (Sandbox Code Playgroud)

这会更新按钮状态,但不会以其他方式工作 - 即没有事件绑定到按钮单击事件.我想将此概括为Rivets.js,因此我不必在Backbone视图中的表单中为每个按钮组添加一个click事件.

这是Rivets中的基本功能,如果是,我该如何设置它?

backbone.js rivets.js

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