One minute
Save form dengan HABTM pada Symfony
Sempet kebingungan saat melakukan saving di form yang ada relasi habtm di symfony. Karena gak otomatis ke-save.
Misal aja untuk database ini, dengan class berikut, setelah gugling, dan baca2 forum, akhirnya dapat jawaban di forum.
Dari sini, gw override method doSave()
di TripForm
class menjadi:
public function doSave($con = null)
{
parent:doSave($con);
// save table relasi habtm disini, misal untuk kasus gw:
if ($con == null)
{
$con = $this->getConnection();
}
$PK = $this->object->getPrimaryKey();
if (isset($this->widgetSchema['cities']))
{
$c = new Criteria();
$c->add(TripCitiesPeer::TRIP_ID, $PK);
TripCitiesPeer::doDelete($c, $con);
foreach ($this->getValue('cities') as $k => $city_id)
{
$TripRel = new TripCities();
$TripRel->setTripId($PK);
$TripRel->setCityId($city_id);
$TripRel->save();
}
}
}