راکت
ftp
ftp
توسط ftp مطرح شد
4 پاسخ

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

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

                ]);
            }

ثبت پرسش جدید
saman
saman
تخصص :برنامه نویس
@saman7986 سال پیشمطرح شد
1

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

https://github.com/spatie/laravel-activitylog

علی بیات
علی بیات
تخصص :توسعه دهنده ارشد وب
@ali.bayat6 سال پیشمطرح شد
0

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


ftp
ftp
تخصص :ساده
@ftp6 سال پیشمطرح شد
0

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


سیدعلی موسوی
سیدعلی موسوی
تخصص :سی شارپ و پی اچ پی
@juza666 سال پیشمطرح شد
1

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


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

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