راکت

ساخت history در لاراول

4 پاسخ

@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',

                ]);
            }
ثبت پرسش جدید

پاسخ‌ها

4
saman
saman
@saman798

تخصص: برنامه نویس

پکیج زیر رو نصب کنید:

https://github.com/spatie/laravel-activitylog
علی بیات
علی بیات
@ali.bayat

تخصص: توسعه دهنده ارشد وب

باید از Model Events ها استفاده کنی

شاید پاسخ شما همین‌جا باشد

ftp
ftp
@ftp

تخصص: ساده

@ali.bayat
اخه یک مشکلی هست که در ایونت ها نمیشه یوزر کاربر رو گرفت

سیدعلی موسوی
سیدعلی موسوی
@juza66

تخصص: سی شارپ و پی اچ پی

بله میشه اطلاعات کاربر رو گرفت کافیه تویی متد سازنده(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

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام