SQLSTATE [42000]:语法错误或访问冲突:1064 Symfony 2.7.3应用程序

时间:2016-02-02 12:58:20

标签: php mysql symfony

当我尝试创建我的产品实体时,我收到以下错误:

  

执行'INSERT INTO产品时发生异常(代码,名称,描述,订单,库存,输入,创建,制造,过期,开始数量,购买价格,开盘价格,价格,可见,停止,查看,关于,brand_id,groups_id ,measurement_id,gender_id)VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,')与params [432211,“trolly bag”,“description”,0,2,“2016-02-01 15:02:57”,“2016-02-01 15:02:57”,“2011-03-08 “,”2016-09-12“,2,100,100,100,1,0,0,”约“,2,2,null,null]:

     

SQLSTATE [42000]:语法错误或访问冲突:1064 SQL语法中有错误;查看与您的MySQL服务器版本对应的手册,以便在第1行的“订单,库存,条目,创建,制造,到期,开放量,购买_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(),
    ));
}

1 个答案:

答案 0 :(得分:10)

我很遗憾地说,但是ORDER是一个保留字。看看Mysql Reserved word