Doctrine ネストセット機能を使用しているモデルがいくつかあります。アプリケーションで必要なため、ツリーから要素の削除機能を追加したいと考えています。ドキュメントのスニペットを試していましたが、そのコードで非常に奇妙なエラーが発生しています。
YAML はこちら: http://pastie.org/820978
そして、私はMenuクラスの魔女が生成された抽象クラスBaseMenuを拡張し、BaseMenuがDoctrine_Recordを拡張するこのコードを試しています:)
とにかく私のコード:
public function getMenuItem($id)
{
return Doctrine::getTable('Menu')->find($id);
}
public function delete($id)
{
$item = $this->getMenuItem($id);
//echo get_class($item); will return Menu so object exists !?
$item->getNode()->delete();
}
そして、私はこれをエラーにします:
致命的なエラー: 非オブジェクトでのメンバー関数 getNode() の呼び出し
そして、 get_class($item) が戦争を起こしていることに気付きました (そのため、おそらくこの奇妙な動作の理由です):
警告: get_class() は、パラメーター 1 がオブジェクトであると想定しており、ブール値は次で指定されます...
ただし、これに対する解決策が必要であり、すべてのヒントを歓迎します...