چطوری به متدهای Policy توی لاراول متغیر ارسال کنیم؟
داخل متد authorize کلاس Gate بعد از اینکه اسم متد متناظر توی policy رو پاس دادیم در قالب یک آرایه، اول مدلمون رو پاس میدیم و بعد متغیری که مدنظرمون هست. اینجوری میتونیم اون متغیر رو داخل متد policy داشته باشیم. مثال:
توی عکس های زیر، من میخوام آرایه ای از آیدی های کاربران رو بگیرم و همشون رو حذف کنم، اما میخوام در صورتی که آیدی شماره ۱ بین آیدی های انتخاب شده باشه، اجازه حذف داده نشه و خطای ۴۰۳ برگردونه. پس آرایه آیدی هارو پاس میدم به policy و اونجا چک میکنم، اگر آیدی ۱ داخل آرایه نبود، true برگردونه و اجازه عملیات رو صادر کنه.
عکس اول داخل کنترلر جایی که از Gate پالیسی رو فرا میخونیم. و عکس دوم داخل UserPolicy هست. (نحوه فراخونی policy توی لاراول ۱۱ کمی عوض شده)
@DevTwitter | <Pouya Farshidnia/>