从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)
有没有人有想法制作那个黑客?
我有下面的模型:文章可以有一些标签,标签可以在一些文章上.所以它是与3个表的多对多关系:
当我删除标签时,我想删除:
但我当然不想删除文章中的文章.
我怎样才能做到这一点 ?
我试试这个,但它不起作用:
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) 我有一个使用 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)