特定のモデルの履歴を管理する必要があります。 は、だから私は私のAppServiceProvider.phpファイルにこのような何かをした(https://laravel.com/docs/5.2/eloquent#events)ここでは例を次に示します。Laravel:履歴用にモデルのシリアル化されたコピーを保存する
use App\SourceModel;
use App\History;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\ServiceProvider;
class AppServiceProvider extends ServiceProvider {
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
SourceModel::saving(function ($source) {
$his= new History();
$his->record = $source->toJson();
$his->user_id = Auth::User()->id;
$his->saved_id = $source->id;
$his->saved_type = 'App\SourceModel';
$his->save();
});
}
...
問題が...
どのように認証が::ユーザー()がNULLを返し、このようにしていますこの問題を解決できますか? appserviceproviderでAuthを動作させる方法があるのでしょうか、私は節電イベントを別の場所に移動する必要がありますか?
なぜAuth :: user()がnullを返す場合、この変更は何に対処するのですか?モデル保存のイベントから問題が発生した場合、イベントは正常に初期化されます。 – Devon
住所の変更はちょっとしたヒントです。 – MoeinPorkamel
イベントリスナーは、EventServiceProviderに追加する必要はなく、意味のある場所に追加できます。通常、関連するサービスプロバイダでは、どこでも一度だけ呼び出されることができます。 (リスナーが複数回呼び出された場合、コールバックは複数回実行されます) – Devon