ftp
5 سال پیش توسط 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
تخصص : برنامه نویس
@saman798 5 سال پیش مطرح شد
1

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

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

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

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


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

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


سیدعلی موسوی
تخصص : سی شارپ و پی اچ پی
@juza66 5 سال پیش آپدیت شد
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


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

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