我試圖創建產品和用戶之間的關係。一個用戶有許多產品和許多產品=> 1個用戶。問題是當我將表格添加到表「產品」列user_id = NULL。爲什麼user_id列是NULL?
這是我在產品實體關係:
/**
* @ORM\ManyToOne(targetEntity="AppBundle\Entity\User", inversedBy="products")
* @ORM\JoinColumn(name="user_id", referencedColumnName="id")
*/
private $user;
和用戶實體:
/**
* @ORM\OneToMany(targetEntity="AppBundle\Entity\Product", mappedBy="user")
*/
private $products;
爲什麼列user_id是總是空?以下是用於堅持產品的代碼。
/**
* @Route("/products/add", name="create_products")
* @Security("has_role('ROLE_USER') or has_role('ROLE_EDITOR') or has_role('ROLE_ADMIN')")
* @param Request $request
* @return \Symfony\Component\HttpFoundation\Response
*/
public function createProductAction(Request $request)
{
$product = new Product();
$form = $this->createForm(ProductType::class, $product);
$form->handleRequest($request);
if($form->isSubmitted() && $form->isValid()) {
/** @var UploadedFile $file */
$file = $product->getImageForm();
$filename = md5($product->getName());
$file->move(
$this->get('kernel')->getRootDir() . '/../web/images/products/',
$filename
);
$product->setImage($filename);
$em = $this->getDoctrine()->getManager();
$em->persist($product);
$em->flush();
$this->redirectToRoute('products');
return $this->redirectToRoute('products');
}
return $this->render('products/create.product.html.twig', array(
'productForm' => $form->createView()
));
}
你是如何保存這些?你的表單/控制器是什麼樣的? – Chausser
請問您如何堅持這兩個實體的代碼? – manix
這裏是創建產品操作https://pastebin.com/LuxTDLip其實,即時通訊不知道如何保存user_id到控制器 – Vnkat19