【发布时间】:2019-08-16 18:21:06
【问题描述】:
我的数据库架构是这样的:
create table users (
id INT PRIMARY KEY,
username TEXT,
)
create table posts (
id INT PRIMARY KEY,
user_id INT,
title TEXT,
content TEXT,
)
我正在开发 api 来创建“帖子”,所以我发布如下,并且关系已在用户和帖子实体中定义
{
"user": {
"username": "some_name"
},
"title": "testing",
"content": "test content"
}
我需要验证是否发布了正确的用户名?我怎么能这样做?
我的控制器是这样的
$post = new Post();
$form = $this->createForm(PostType::class, $post);
$form->submit($request->request->all());
我的builder表单是这样的
$builder
->add('title', TextType::class)
->add('content', TextType::class)
->add('User', UserType::class, array(
'data_class' => User::class
));
但它每次都尝试创建用户,而不是检查是否通过了有效的用户名。有什么想法吗?
【问题讨论】:
-
你想在持久化数据(post)之前检查用户是否存在?
-
@MohammedYassineCHABLI 我想检查是否发布了有效的用户名,如果是这样,将数据保存到带有相应用户 ID 的“帖子”表中,否则会显示一些错误
-
有效用户名是什么意思?你的意思是如果用户存在联合国用户表,是吗?
-
是的@MohammedYassineCHABLI
标签: symfony symfony-forms symfony-validator