当我尝试创建产品实体时出现以下错误:
使用参数执行"插入产品(代码、名称、描述、订单、库存、条目、创建、制造、过期、opening_quantity、purchase_price、opening_price、价格、可见、停止、查看、关于、brand_id、groups_id、measurement_id、gender_id(值 (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?("时发生异常 [432211, "拉杆袋", "描述", 0, 2, "2016-02-01 15:02:57", "2016-02-01 15:02:57", "2011-03-08", "2016-09-12", 2, 100, 100, 1, 0, 0, "关于", 2, 2, 空, 空]:
SQLSTATE[42000]:语法错误或访问冲突:1064 您的 SQL 语法有错误;请查看与您的 MySQL 服务器版本对应的手册,了解在第 1 行的"订单、库存、输入、创建、制造、过期、opening_quantity、purchase_p"附近使用的正确语法
产品实体:
在此处输入代码命名空间 AppBundle''Entity;
use Doctrine'ORM'Mapping as ORM;
use Doctrine'Common'Collections'ArrayCollection;
use Sensio'Bundle'FrameworkExtraBundle'Configuration'Route;
use Symfony'Component'HttpFoundation'File'UploadedFile;
use Symfony'Component'HttpFoundation'Request;
use Symfony'Component'Validator'Constraints as Assert;
/**
* @ORM'Entity
* @ORM'Table(name="products")
* @ORM'HasLifecycleCallbacks
* @ORM'Entity(repositoryClass="AppBundle'Repository'ProductRepository")
*/
class Product
{
/**
* @ORM'Column(type="integer")
* @ORM'Id
* @ORM'GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @ORM'Column(type="integer")
*/
protected $code;
/**
* @ORM'Column(type="string", length=100)
*/
protected $name;
/**
* @ORM'Column(type="text")
*/
protected $description;
/**
* @ORM'Column(type="integer")
*/
protected $order;
/**
* @ORM'Column(type="integer")
*/
protected $stock;
/**
* @ORM'Column(type="datetime")
*/
protected $entry;
/**
* @ORM'Column(type="datetime")
*/
protected $created;
/**
* @ORM'Column(type="date")
*/
protected $manufactured;
/**
* @ORM'Column(type="date")
*
*/
protected $expire;
/**
* @ORM'Column(type="integer")
*/
protected $openingQuantity;
/**
* @ORM'Column(type="integer")
*/
protected $purchasePrice;
/**
* @ORM'Column(type="integer")
*/
protected $openingPrice;
/**
* @ORM'Column(type="integer")
*/
protected $price;
/**
* @ORM'Column(type="smallint")
*/
protected $visible;
/**
* @ORM'Column(type="smallint")
*/
protected $discontinue;
/**
* @ORM'Column(type="integer")
*/
protected $view;
/**
* @ORM'Column(type="text")
*/
protected $about;
/**
* @ORM'ManyToOne(targetEntity="Brand", inversedBy="product")
* @ORM'JoinColumn(name="brand_id", referencedColumnName="id")
*/
protected $brand;
/**
* @ORM'ManyToOne(targetEntity="Group", inversedBy="product")
* @ORM'JoinColumn(name="groups_id", referencedColumnName="id")
*/
protected $group;
/**
* @ORM'ManyToOne(targetEntity="Measurement", inversedBy="product")
* @ORM'JoinColumn(name="measurement_id", referencedColumnName="id")
*/
protected $measurement;
/**
* @ORM'ManyToOne(targetEntity="Gender", inversedBy="product")
* @ORM'JoinColumn(name="gender_id", referencedColumnName="id")
*/
protected $gender;
/**
* Get id
*
* @return integer
*/
public function getId()
{
return $this->id;
}
/**
* Set code
*
* @param integer $code
* @return Product
*/
public function setCode($code)
{
$this->code = $code;
return $this;
}
/**
* Get code
*
* @return integer
*/
public function getCode()
{
return $this->code;
}
/**
* Set name
*
* @param string $name
* @return Product
*/
public function setName($name)
{
$this->name = $name;
return $this;
}
/**
* Get name
*
* @return string
*/
public function getName()
{
return $this->name;
}
/**
* Set description
*
* @param string $description
* @return Product
*/
public function setDescription($description)
{
$this->description = $description;
return $this;
}
/**
* Get description
*
* @return string
*/
public function getDescription()
{
return $this->description;
}
/**
* Set order
*
* @param integer $order
* @return Product
*/
public function setOrder($order)
{
$this->order = $order;
return $this;
}
/**
* Get order
*
* @return integer
*/
public function getOrder()
{
return $this->order;
}
/**
* Set stock
*
* @param integer $stock
* @return Product
*/
public function setStock($stock)
{
$this->stock = $stock;
return $this;
}
/**
* Get stock
*
* @return integer
*/
public function getStock()
{
return $this->stock;
}
/**
* Set entry
*
* @param 'DateTime $entry
* @return Product
*/
public function setEntry($entry)
{
$this->entry = $entry;
return $this;
}
/**
* Get entry
*
* @return 'DateTime
*/
public function getEntry()
{
return $this->entry;
}
/**
* Set created
*
* @param 'DateTime $created
* @return Product
*/
public function setCreated($created)
{
$this->created = $created;
return $this;
}
/**
* Get created
*
* @return 'DateTime
*/
public function getCreated()
{
return $this->created;
}
/**
* Set manufactured
*
* @param 'DateTime $manufactured
* @return Product
*/
public function setManufactured($manufactured)
{
$this->manufactured = $manufactured;
return $this;
}
/**
* Get manufactured
*
* @return 'DateTime
*/
public function getManufactured()
{
return $this->manufactured;
}
/**
* Set expire
*
* @param 'DateTime $expire
* @return Product
*/
public function setExpire($expire)
{
$this->expire = $expire;
return $this;
}
/**
* Get expire
*
* @return 'DateTime
*/
public function getExpire()
{
return $this->expire;
}
/**
* Set openingQuantity
*
* @param integer $openingQuantity
* @return Product
*/
public function setOpeningQuantity($openingQuantity)
{
$this->openingQuantity = $openingQuantity;
return $this;
}
/**
* Get openingQuantity
*
* @return integer
*/
public function getOpeningQuantity()
{
return $this->openingQuantity;
}
/**
* Set purchasePrice
*
* @param integer $purchasePrice
* @return Product
*/
public function setPurchasePrice($purchasePrice)
{
$this->purchasePrice = $purchasePrice;
return $this;
}
/**
* Get purchasePrice
*
* @return integer
*/
public function getPurchasePrice()
{
return $this->purchasePrice;
}
/**
* Set openingPrice
*
* @param integer $openingPrice
* @return Product
*/
public function setOpeningPrice($openingPrice)
{
$this->openingPrice = $openingPrice;
return $this;
}
/**
* Get openingPrice
*
* @return integer
*/
public function getOpeningPrice()
{
return $this->openingPrice;
}
/**
* Set price
*
* @param integer $price
* @return Product
*/
public function setPrice($price)
{
$this->price = $price;
return $this;
}
/**
* Get price
*
* @return integer
*/
public function getPrice()
{
return $this->price;
}
/**
* Set visible
*
* @param integer $visible
* @return Product
*/
public function setVisible($visible)
{
$this->visible = $visible;
return $this;
}
/**
* Get visible
*
* @return integer
*/
public function getVisible()
{
return $this->visible;
}
/**
* Set discontinue
*
* @param integer $discontinue
* @return Product
*/
public function setDiscontinue($discontinue)
{
$this->discontinue = $discontinue;
return $this;
}
/**
* Get discontinue
*
* @return integer
*/
public function getDiscontinue()
{
return $this->discontinue;
}
/**
* Set view
*
* @param integer $view
* @return Product
*/
public function setView($view)
{
$this->view = $view;
return $this;
}
/**
* Get view
*
* @return integer
*/
public function getView()
{
return $this->view;
}
/**
* Set about
*
* @param string $about
* @return Product
*/
public function setAbout($about)
{
$this->about = $about;
return $this;
}
/**
* Get about
*
* @return string
*/
public function getAbout()
{
return $this->about;
}
/**
* Set brand
*
* @param 'AppBundle'Entity'Brand $brand
* @return Product
*/
public function setBrand('AppBundle'Entity'Brand $brand = null)
{
$this->brand = $brand;
return $this;
}
/**
* Get brand
*
* @return 'AppBundle'Entity'Brand
*/
public function getBrand()
{
return $this->brand;
}
/**
* Set measurement
*
* @param 'AppBundle'Entity'Measurement $measurement
* @return Product
*/
public function setMeasurement('AppBundle'Entity'Measurement $measurement = null)
{
$this->measurement = $measurement;
return $this;
}
/**
* Get measurement
*
* @return 'AppBundle'Entity'Measurement
*/
public function getMeasurement()
{
return $this->measurement;
}
/**
* Set gender
*
* @param 'AppBundle'Entity'Gender $gender
* @return Product
*/
public function setGender('AppBundle'Entity'Gender $gender = null)
{
$this->gender = $gender;
return $this;
}
/**
* Get gender
*
* @return 'AppBundle'Entity'Gender
*/
public function getGender()
{
return $this->gender;
}
/**
* Set group
*
* @param 'AppBundle'Entity'Group $group
* @return Product
*/
public function setGroup('AppBundle'Entity'Group $group = null)
{
$this->group = $group;
return $this;
}
/**
* Get group
*
* @return 'AppBundle'Entity'Group
*/
public function getGroup()
{
return $this->group;
}
}
控制器:
namespace AppBundle'Controller'admin;
use AppBundle'Entity'Product;
use AppBundle'Form'Type'ProductType;
use Sensio'Bundle'FrameworkExtraBundle'Configuration'Route;
use Symfony'Bundle'FrameworkBundle'Controller'Controller;
use Symfony'Component'HttpFoundation'File'UploadedFile;
use Symfony'Component'HttpFoundation'Request;
class ProductController extends Controller
{
/**
* @Route("/admin/product/create/{group_id}", name="create group product")
*/
public function groupProductCreateAction(Request $request,$group_id)
{
$Group = $this->getDoctrine()->getRepository('AppBundle:Group');
$group = $Group->findOneById($group_id);
$product = new Product();
$form = $this->createForm(new ProductType(), $product)
->add('save', 'submit', array(
'label' => 'Save',
'attr'=>array('class'=>'btn btn-md btn-info')
));
$form->handleRequest($request);
if ($form->isValid()) {
$openingStock = $product->getOpeningQuantity();
$openingPrice = $product->getPrice();
$product->setOrder(0);
$product->setStock($openingStock);
$product->setEntry(new 'DateTime());
$product->setCreated(new 'DateTime());
$product->setOpeningPrice($openingPrice);
$product->setDiscontinue(0);
$product->setView(0);
$product->setGroup($group);
$em = $this->getDoctrine()->getManager();
$em->persist($product);
$em->flush();
return $this->redirect($this->generateUrl('create category group',
array('category_id' => $group_id, )));
}
return $this->render('admin/product.html.twig', array(
'form' => $form ->createView(),
));
}
我很
抱歉地说,但ORDER是一个保留词。看看这个 Mysql 保留字