私はLaravel 5アプリを開発しています。ユーザーがアイテムを作成または更新するたびにデータベーステーブルに情報を記録したいデータベース(mysql)テーブルに情報を記録するリポジトリメソッドを作成します。
新しい移行ファイル - ログを作成しました。ログテーブルでは、どのユーザーが何かを変更または追加し、どのテーブルが変更され、古い値と新しい値であるかという情報を保存します。
私の意見では、これを行う最も簡単な方法は、新しいリポジトリメソッドを作成し、何らかの方法で新しいログメソッドでストアメソッドと更新メソッドを接続することです。
private function log()
{
// place for log method
}
public function store($request)
{
Radar::create([
'date' => $request->input('date'),
'number' => $request->input('number'),
'distance' => $request->input('distance'),
'time' => $request->input('time'),
'speed' => $request->input('distance')/$request->input('time') * 3.6,
'user_id' => auth()->id()
]);
}
public function update($request, $radar)
{
$radar->date = $request->input('date');
$radar->number = $request->input('number');
$radar->distance = $request->input('distance');
$radar->time = $request->input('time');
$radar->speed = $request->input('distance')/$request->input('time') * 3.6;
$radar->user_id = auth()->id();
$radar->save();
$this->log($radar);
}
私はコードのあまりを記述することなく、簡単な再利用可能なソリューションをしたい:
これは私のリポジトリがどのように見えるかです。
詳細情報の有益な回答ありがとうございます。乾杯! – Luke