سلام دوستان به یه موردی برخوردم لطفا اگه کسی میدونه حتما کمک کنه که برام مهمه.
یه mutator دارم که اسمش user_full_name هست تا نام و نام خانوادگی کاربر رو کنار هم نمایش بده.
همه جای سایت ازش استفاده میکنم جز یه جا که نمیخوام کار کنه.
حالا من این کد رو نوشتم:
return response()->json(Auth::user()->orders()
->with(['user' => function($q){ $q->first()->setAppends([]); })
داخل خود کالکشن اعمال میشه اما تو جواب دوباره نام و نام خانوادگی رو برمیگردونه!لطفا کمکم کنید
خب اینجوری اون ساختاری که برمیگردونم به هم میخوره
چون یه api هست روی گوشی و به هیچ وجه نمیخوام چیزی به هم بریزه
اگه اشتباه میکنم لطفا جزیی تر رومثالم توضیح بدید
@khanzadimahdi
شاید پاسخ شما همینجا باشد
سلام. این مشکلو منم دارم. کسی راه حلی براش داره ؟
@ali.bayat
من برای api نمی خوام. در بدنه سایتم در یک جا نمی خوام mutator کار کنه. همه جا تاریخ رو شمسی میکنه ولی یک جا نمی خوام این اتفاق بیفته
توضیحات بالا مربوط به این تاپیک بود. سوال شما کمی فرق داره.
میتونی توی مدل یه پراپرتی تعریف کنی.. که پیش فرض مقدارش true باشه. مثلا:
public $persianDate = true;
بعد داخل mutator چک میکنی.
حالا جایی که نمیخواهی تاریخ شمسی بشه مدل رو بصورت دستی Instantiate میکنی (نمونه سازی میکنی)
$post = new Post;
$post->persianDate = false;
$post->date = Carbon::now();
echo $post->date;
یا اینکه میتونی Accessor های جدا درست کنی