小编j.2*_*2bb的帖子

如何在Symfony 2表单中自定义data-prototype属性

从umpteens时代起,我就阻止了Symfony 2和表格的问题.

我有一种形式的网站实体."网站"是网站实体的集合,每个网站包含两个属性:"类型"和"网址".

如果我想在我的数据库中添加更多的网站,我可以点击"添加其他网站"链接,这会在我的表单中添加另一个网站行.因此,当您单击提交按钮时,您可以同时添加一个或X个网站.

这个添加行的过程使用data-prototype属性,它可以生成网站子表单.

问题是我自定义我的表单以获得一个很棒的图形渲染......就像这样:

<div class="informations_widget">{{ form_widget(website.type.code) }}</div>
<div class="informations_error">{{ form_errors(website.type) }}</div>
<div class="informations_widget">{{ form_widget(website.url) }}</div>
<div class="informations_error">{{ form_errors(website.url) }}</div>
Run Code Online (Sandbox Code Playgroud)

但是数据原型不关心这种自定义,使用HTML和CSS标签和属性.我保留了Symfony渲染:

<div>
<label class=" required">$$name$$</label>
<div id="jobcast_profilebundle_websitestype_websites_$$name$$">
<div>
<label class=" required">Type</label>
<div id="jobcast_profilebundle_websitestype_websites_$$name$$_type">
<div>
<label for="jobcast_profilebundle_websitestype_websites_$$name$$_type_code" class=" required">label</label>
<select id="jobcast_profilebundle_websitestype_websites_$$name$$_type_code" name="jobcast_profilebundle_websitestype[websites][$$name$$][type][code]" required="required">
<option value="WEB-OTHER">Autre</option>
<option value="WEB-RSS">Flux RSS</option>
...
</select>
</div>
</div>
</div>
<div>
<label for="jobcast_profilebundle_websitestype_websites_$$name$$_url" class=" required">Adresse</label>
<input  type="url" id="jobcast_profilebundle_websitestype_websites_$$name$$_url" name="jobcast_profilebundle_websitestype[websites][$$name$$][url]" required="required" value="" />
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)

有没有人有想法制作那个黑客?

forms collections symfony

53
推荐指数
6
解决办法
4万
查看次数

如何使用JPA删除连接表中的行

我有下面的模型:文章可以有一些标签,标签可以在一些文章上.所以它是与3个表的多对多关系:

  • 文章
  • ARTICLE_TAG
  • 标签

当我删除标签时,我想删除:

  • TAG中的标签
  • 标签与ARTICLE_TAG中标记的文章之间的所有关系

但我当然不想删除文章中的文章.

我怎样才能做到这一点 ?

我试试这个,但它不起作用:

Session session = HibernateUtil.getSessionFactory().getCurrentSession();
for (Article article : tagToDelete.getArticles()) {
    article.getTags().remove(tagToDelete);
}
session.delete(tagToDelete);
Run Code Online (Sandbox Code Playgroud)

谢谢 !

@Entity
@Table(name="ARTICLE")
public class Article extends AbstractAuditedEntity {

    @Id
    @Column(name="ID", nullable=false)
    private Long id;

    @ManyToMany
    @JoinTable(name="ARTICLE_TAG", joinColumns=@JoinColumn(name = "ARTICLE_ID"), inverseJoinColumns=@JoinColumn(name = "TAG_ID"))
    private Set<Tag> tags = new HashSet<>();

    public Article() {}

    /** Getters & Setters */
}

@Entity
@Table(name="TAG")
public class Tag {

    @Id
    @Column(name="ID", nullable=false)
    private Long id;    

    @ManyToMany(mappedBy="tags")
    private Set<Article> articles = …
Run Code Online (Sandbox Code Playgroud)

many-to-many hibernate jointable mappedby

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

Angular 5:如何在 Jest 测试中导入 jQuery?

我有一个使用 CalendarService 的角度组件。当组件初始化时,我调用“calendarService.init()”方法。

这个 CalendarService 设置了一个语义 UI 日历的配置(基于 jQuery),代码类似于“$(myElement).calendar(settings);”。

当我用 Jest 测试我的组件时,组件的初始化有一个错误:“ReferenceError: $ is not defined”。

我该如何解决?

search.component.spec.ts :

describe('SearchComponent', () => {

  let fixture: ComponentFixture<SearchComponent>;
  let component: SearchComponent;
  let element: DebugElement;

  beforeEach(async(() => {
    TestBed.configureTestingModule({
      imports: [
        AppModule
      ],
      providers: [
        { provide: APP_BASE_HREF, useValue : '/search' },
        CalendarService
      ]
    });

    fixture = TestBed.createComponent(SearchComponent);

    let calendarService = TestBed.get(CalendarService);

    component = fixture.componentInstance;
    element = fixture.debugElement;

    fixture.detectChanges();
  }));
});
Run Code Online (Sandbox Code Playgroud)

search.component.ts :

@Component({
  selector: 'afo-search',
  templateUrl: './search.component.html',
  styleUrls: ['./search.component.less']
})
export class …
Run Code Online (Sandbox Code Playgroud)

jquery mocking jestjs angular angular5

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