0
Doctrine 1.2を使用して、Doctrine_Collectionからアイテムを削除する際に問題が発生しています。Doctrine_Collectionからアイテムを削除する
私はDoctrine_Recordsで一杯のDoctrineコレクションを持っています。 $record->delete()
と$record->unlink()
関数は、レコードのIDを使用するため、ここでは正しく機能していないようです。 (それらがまだデータベースには表示されませんので、過渡レコードは、ありません。)
例(当社は、多くの従業員を持っている)
今/* Get a Company that has no Employees yet. */
$company = Doctrine::getTable('Company')->find(1);
/* Add some Employees */
$names = array('Arthur','Bob','Charlie');
foreach ($names as $name)
{
$employee = new Employee;
$employee->name = "Arthur"
$company->Employee->add($employee);
}
、データベースに何かを保存する前に、私は$emp
に1人の従業員がいます。これはコレクションから削除したいものです。
$emp->delete() /* Does not work when $emp is transient. */
これはうまくいくのですが、実際にはそれがどうなるのか疑問です。
foreach($company->Employee as $key => $value)
if ($emp == $value)
{
$company->Employee->remove($key);
break;
}
これは最も簡単な方法です。これを行うための推奨方法はありますか?