Symfony2 - checkbox zawsze zaznaczony

0

Cześć,

Mam checkbox w formularzu stworzony:

$builder->add('is_active', 'checkbox', array('value'=>true ));

W kontrolerze ustawiam formularz:

$form = $this->createForm(new AddClientType());
$form->setData($user);

W modelu User, który mapuje tabelę User mam:

/**
     * Set is_active
     *
     * @param boolean $isActive
     * @return User
     */
    public function setIsActive($isActive)
    {
        $this->is_active = $isActive;
    
        return $this;
    }

    /**
     * Get is_active
     *
     * @return boolean 
     */
    public function getIsActive()
    {
        return $this->is_active;
    }

W widoku twig mam:
{{ form_widget(generalForm.is_active, {'id':'is_active'}) }}

W bazie pole jest jako tinyint i przyjmuje wartość 1 albo 0. Niestety na stronie checkbox zawsze jest zaznaczony. Nawet jeśli w bazie jest ustawione 0. Jak to poprawić?

0
Bartosz Wójcik napisał(a):

Zajrzyj czasami do dokumentacji http://symfony.com/doc/current/reference/forms/types/checkbox.html#value

Ale ja nie chcę, aby defaultowo był zawsze niezaznaczony lub zaznaczony, tylko w zależności od wartości w bazie danych.

0

Nie pamiętam już Syphony więc napisze skrótowo, bo sprawa jest bardzo prosta:-)

 
if ($rekord_z_bazy == 1)
    $builder->add('is_active', 'checkbox', array('value'=>true ));
esle
    $builder->add('is_active', 'checkbox', array('value'=>false ));

Tak w ogóle to Twój początek przygody z PHP? Odradzam wtedy Symphony tylko lepiej pobaw się w czystym PHP. Poczytaj o medelu MVC, popisz coś prostego. Są też super kursy własnych frameworków, które skomplikowane nie są i nadadzą się świetnie na początek, bo zrozumiesz z nich MVC.
A jeżeli to Twój pierwszy framework, to też jest to dobrze od tego zacząć.

W sumie to się wypowiadam, ale sam miałem w PHP z 4 lata przerwy:D Przyganiał kocioł...

1 użytkowników online, w tym zalogowanych: 0, gości: 1