سلام خدمت همه دوستان
من میخوام تو لاراول تو یه قسمتی یه کدی تعریف کنم که قبل از هر ثبت رکوردی یا هر اپدیتی تک تک فیلد ها برسی شود و یه سری فیلتر روی ان اعمال گردد
به صورت مثال میخوام قبل از ثبت رکورد هر جا (ی - ک ) عربی بود اون رو به فارسی تبدیل کنم یا هر جا عدد فارسی کاربر ثبت کرده بود به اعداد انگلیسی تبدیل بشه .
نمیخوام خودم این کار رو داخل کنترلر هام انجام بدم .
راهی هست برای این کار ؟
در مدل مربوطه شما میتونی از Mutators و Accessors استفاده کنی. یکی قبل از خواندن فیلد یکی بعد از ذخیره یا اپدیت فیلد مورد نظرت
میتونی اینجا بیشتر درباره ش بخونی
https://laravel.com/docs/6.x/eloquent-mutators
اینجا باید واسه هر مدل یه بار این داستان ها رو داشته باشی . من میخواستم اتوماتیک این کار روی همه فیلد هام انجام بشه .
البته من خودم با تعریف یه  middleware این کار و انجام دادم .  الان همه جا داره درست کار میکنه
کدش رو میزارم دوستان شاید به دردشون بخوره .
<?php
namespace App\Http\Middleware;
use Closure;
class ConvertArabic2Persian
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        $temp = [] ;
        if ( isset($request->request) ){
            foreach ($request->request as $key => $value){
                $temp[$key] = $this->arabicToPersian($value);
            }
            $request->merge($temp);
        }
        return $next($request);
    }
}
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟