Symfony ve PHP bir formdan bir parametre geçmek için?

1 Cevap php

Ben Symfony'de PHP ile çok basit bir arama fonksiyonu uygulamak çalışıyorum.

Temelde bir sorgu gönderdiğinde bir form var ve ben sorgu eşleşen veritabanı öğeleri almak istiyorum.

Ben sütunlar FIRST_NAME ve last_name ile bir kullanıcı tablo varsa, ben bir sorgu içeren tüm öğeleri almak mümkün olmak istiyorum. Ben 'a' to Örneğin, ben bir 'a' onları tüm isimleri alacak:

  • Bat Man
  • Black Beard
  • Adam West
  • Mister A

Bu yüzden, ilk adları içeren tablodaki tüm nesneleri alabilirsiniz biliyorum 'bir' kriterlerini belirterek:

$c = new Criteria();  
$c->add(UserPeer::FIRST_NAME, '%a%', Criteria::LIKE);  
$users = UserPeer::doSelect($c);  

Ben add () fonksiyonu $ sorgu gibi bir değişken iletebilirsiniz bir yolu var mı? Ben bir form üzerinden $ sorgu kazanmak ve daha sonra eklentinin işlevi bir değişken olarak geçmesi ve bunu içeren tüm nesneleri alabilir miyim? Ben bile bu konuda doğru yolu gidiyorum?

1 Cevap

Formunuzda id 'sorgu' ile bir girdi oluşturun

<label for="query">Query:</label>
<?php echo input_tag('query') ?>

In the action get the parameter IF the form has been submitted then pass it into your criteria

if($this->getRequest()->getMethod() == sfRequest::POST)
{
    $query = $this->getRequestParameter('query');

    $c = new Criteria();
    $c->add(UserPeer::FIRST_NAME, '%'.$query.'%', Criteria::LIKE);
    $users = UserPeer::doSelect($c); 

}