[英]request with multiple columns Symfony2 Doctrine
I wanna request a column so I can remove it. 我想请求一列,以便将其删除。 This is the table(SerialNumber) layout: 这是表格(SerialNumber)的布局:
Now do I have the booking_id and the product_revision_id values and thats is how I wanna select them. 现在,我是否有booking_id和product_revision_id值,这就是我想要选择它们的方式。
like this: 像这样:
SELECT* FROM SerialNumber WHERE booking_id = '123456' AND product_revision_id = '987456'
but then like this: 但是像这样:
$serial_nr = $em->getRepository("KopictAdminBundle:SerialNumber")->find();
Can some one point me in the right direction? 有人可以指出我正确的方向吗?
--------------Requested edit-------------------- --------------请求的编辑--------------------
class SerialNumber
{
/**
* @var integer $id
*/
private $id;
/**
* @var interger $product_revision_id
*/
private $product_revision_id;
/**
* @var interger $booking_id
*/
private $booking_id;
/**
* @var string $serial_nr
*/
public $serial_nr;
/**
* Get id
*
* @return integer
*/
public function getId()
{
return $this->id;
}
/**
* Set product_revision_id
*
* @param integer $product_revision_id
* @return SerialNumber
*/
public function setProduct_revision_id($product_revision_id)
{
$this->product_revision_id = $product_revision_id;
return $this;
}
/**
* Get product_revision_id
*
* @return integer
*/
public function getProduct_revision_id()
{
return $this->product_revision_id;
}
/**
* Set booking_id
*
* @param integer $booking_id
* @return SerialNumber
*/
public function setBooking_id($booking_id)
{
$this->booking_id = $booking_id;
return $this;
}
/**
* Get booking_id
*
* @return integer
*/
public function getBooking_id()
{
return $this->booking_id;
}
/**
* Set serial_nr
*
* @param string $serial_nr
* @return SerialNumber
*/
public function setSerial_nr($serial_nr)
{
$this->serial_nr = $serial_nr;
return $this;
}
/**
* Get serial_nr
*
* @return string
*/
public function getSerial_nr()
{
return $this->serial_nr;
}
}
In your SerialNumberRepository.php: 在您的SerialNumberRepository.php中:
/.../
public function findByBookingAndProduct($idBooking, $idProduct)
{
return $this->createQueryBuilder('s')
->where('s.booking_id = :booking_id')
->andWhere('s.product_revision_id = :product_id')
->setParameter('booking_id', $idBooking)
->setParameter('product_id', $idProduct)
->getQuery()
->getResult()
;
}
EDIT: If you only want to catch the serialnumber: 编辑:如果您只想捕获序列号:
public function findByBookingAndProduct($idBooking, $idProduct)
{
return $this->createQueryBuilder('s')
->select('s.serial_nr')
->where('s.booking_id = :booking_id')
->andWhere('s.product_revision_id = :product_id')
->setParameter('booking_id', $idBooking)
->setParameter('product_id', $idProduct)
->getQuery()
->getOneOrNullResult()
;
}
And in your controller: 在您的控制器中:
/.../
$serial_nr = $em->getRepository("KopictAdminBundle:SerialNumber")->findByBookingAndProduct("123456", "987654");
/.../
You also have to declare your repository in your entity : 您还必须在实体中声明存储库:
/**
* SerialNumber
*
* @ORM\Entity(repositoryClass="AppBundle\Repository\SerialNumberRepository")
*/
class SerialNumber {
...
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.