@ali.bayat
الان من بخوام بگم در این کد هر فیلدی تغییر کرد تو فلان جدول اون تغییر رو ذخیره کن چطوری باید بگم هر فیلدی اگر تغییر کرد تغییراتش رو ذخیره کن.
علی اقا اگرش رو میخوام یعنی چطوری چک کنه تغییر کرده
کدم اینه :
$user = FormModel::find($id);
if ($user->admin_id == auth()->user()->id) {
$user->name = $valiDate['name'];
$t0=FormModel::where([['id',$id],['admin_id',auth()->user()->id]])->value('name');
HistoryModel::create([
'name'=>"rename form ".$t0,
'admin_id'=>auth()->user()->id,
'form_id' =>$id ,
'history'=>\Morilog\Jalali\Jalalian::now(),
]);
if ($user->update()) {
return response([
'data' => [
'message' => ' name form is update',
'date'=>$date = Jalalian::forge('today')->format('%Y-%m-%d')
],
'status' => 'success',
]);
}پکیج زیر رو نصب کنید:
https://github.com/spatie/laravel-activitylogشاید پاسخ شما همینجا باشد
@ali.bayat
اخه یک مشکلی هست که در ایونت ها نمیشه یوزر کاربر رو گرفت
بله میشه اطلاعات کاربر رو گرفت کافیه تویی متد سازنده(construct) ایونت، متغییرها رو بنویسی و وقتی ایونت رو فایر میکنی اطلاعات کاربر رو بهش بدی
Event::listen('event.', function ($eventName, array $data) {
//
});
<?php
namespace App\Events;
use App\User;
use Illuminate\Queue\SerializesModels;
class UserShipped
{
use SerializesModels;
public $user;
/
Create a new event instance.
@param \App\User $user
@return void
/
public function __construct(User $user)
{
$this->user = $user;
}
}
مطالعه بیشتر درباره ایونت ها در لاراول
https://laravel.com/docs/6.x/events