0
多くのアバターとエージェントを持つゲームモデルがあります。私はゲームを削除すると、私は残りのすべてのデータをクリーンアップしたいので、私はまた、対応するgame_id
ですべてのアバターやエージェントを削除する:Lithium:モデルのフィルタを削除して関連する文書を削除します。
namespace app\models;
use app\models\Avatars;
use app\models\Agents;
class Games extends \lithium\data\Model
{
public static function __init($options = array()) {
parent::__init($options);
$self = static::_instance(__CLASS__);
Games::applyFilter('remove', function($self, $params, $chain) {
$conditions = array('game_id' => $params['conditions']['_id']);
$message = new \app\extensions\helper\Message();
$debugString = var_export($conditions, true);
$message->addDebugMessage("params:{$debugString}");
//Output:
//params:array ('game_id' => '4f301f69a170c8cf52000002',)
if(!Agents::remove($conditions)) { $message->addErrorMessage('Es konnten nicht alle Agents geloescht werden.'); };
if(!Avatars::remove($conditions)) { $message->addErrorMessage('Es konnten nicht alle Avatare geloescht werden.'); };
return $chain->next($self, $params, $chain);
});
}
}
ゲームが削除されるものの、エージェントとアバターが中に残っていますMongoDB。 誰かがこれに関するヒントを持っていますか?
デシベル
>db.agents.find()
{ "_id" : ObjectId("4f301f71a170c8391f000000"), "game_id" : ObjectId("4f301f69a170c8cf52000002"), "type" : "army", "subtype" : "deer", "units" : 5, "xPos" : 5, "yPos" : 5 }
THXネイト、私はそれを見ています – Tomen
はい、私は有効な解決策として、これを確認することができます。ありがとう=) – Tomen