モデルが削除された後にタスクを実行するためにモデルイベントをフックしたいと思います。 I私のモデルに次のコードを追加しました:Laravel 5のモデルイベントコールバックに関数名を渡す方法
protected static function boot()
{
parent::boot();
static::deleted('static::removeStorageAllocation');
}
ではなく、私はそれのためにかなり醜いスポットを思わブート機能、でクロージャ内で実行したいロジックを入れて、私は、メソッドのシグネチャに気づきましたおそらく "\ Closure | string $ callback"が必要ですが、私が上でやったように関数名を指定する方法はありますか?私はうまくいくものを考え出すことができない。私は、組み合わせの多くを試してみた:
'self::removeStorageAllocation'
'static::removeStorageAllocation'
'\App\MyModel::removeStorageAllocation'
私はおそらく私の関数を呼び出すクロージャを指定することができます知っているが、私は$コールバックの文字列形式が何のためにあるのか思ったんだけど?あなただけの無名関数渡すことができ
静的:: removeStorageAllocation()の最後に()を追加したい場合は、 –
と同じエラーが表示されます。ReflectionException:メッセージ 'Class static :: removeStorageAllocation()が存在しません' laravelフレームワークはメソッドではなくクラスを期待しています。また、実際には、削除イベントを発生させたモデルへの参照となる単一のパラメータがあります – madz