سوال بپرسید
2

احراز هویت کاربران در لاراول با مدارک شخصی

سوال بپرسید

یه سیستم با فریم ورک لاراول دارم توسعه میدم

برای اینکه کاربر بتونه از سرویس ها استفاده کنه و اکانتش تایید بشه باید مدارکش رو ارسال کنه که شامل کارت ملی , کارت بانکی و تصویر سلفی میشه.

قطعا برای ذخیره مدارک ارسالی نیاز به یک جدول داریم که بطور مثال اسمشو میزاریم Document

حالا سوالم اینه این جدول چه فیلدهایی باید داشته باشه و با مدل یوزر چه رابطه ای داره (نظر خود بنده رابطه One to many هستش چون ممکنه هربار که مدارک رو ارسال میکنه تایید نشه و مجددا ارسال کنه)

البته خود بنده این قسمت رو کدنویسی کردم اما فکر میکنم روش اشتباهیه اما ممنون میشم بررسی کنید

این فیلدهایی بود که برای جدول document در نظر گرفتم :

-id
-user_id 
-id_card  //تصویر کارت ملی
-bank_card //کارت بانکی
-selfie //تصویر سلفی
-verify // برای مشخص کردن اینکه ایا مدارک تایید شدن یا نه

همچنین توی جدول user هم یه فیلد با نام verify اضافه کردم که اینم مربوط میشه به تایید بودن یا نبودن مدارک , پس دوتا verify داریم یکی توی جدول document و اون یکی توی user واسه همین هرباری که تغیر ایجاد میشه توی وضعیت مدارک , دوتا کوئری اجرا میشن که مقدار هر دو فیلد رو تغیر بدن که فکر میکنم کار اشتباهیه

برچسب ها:
گزارش سوال
پرسیده شده در
آمار بازدید: 832
awminux (11)
بیش از ۱ سال عضویت در روکسو
اگر امکانش هست این سوال را یکبار دیگر ویرایش کرده و دقیقا تعیین کنید که چه چیزی مد نظر شماست؟ – masoudsalehi در

1 پاسخ

5

با توجه به سوالی که شما پرسیدی بنده متوجه شدم که قراره یک سری مدارک را از کاربر دریافت کرده و پس از بررسی آنها را تایید یا عدم تایید کنید.

راه حل پیشنهادی شما بسیار درست و بدون مشکل می باشد ولی برای بهتر شدن این راه حل بنده یکبار دیگر آن را بازنویسی می کنم:

۱) ابتدا باید رابطه ی یک به چند (One to Many) برای جداول users و documents ایجاد کنید

۲) فیلدهای جدول documents، مشابه آنچه در فرمت بالا قرار گرفته است بوده ولی نوع آنها به شکل زیر می باشد:

-id // integer
-user_id // integer یا biginterger
-id_card  //تصویر کارت ملی ---> varchar (string)
-bank_card //کارت بانکی ---> varchar (string)
-selfie //تصویر سلفی ---> varchar (string)
-verify // برای مشخص کردن اینکه ایا مدارک تایید شدن یا نه ---> tinyint
-created_at
-updated_at

3) پس از ارسال فرم توسط کاربر به صورت خودکار وضعیت را در حالت 0 (تایید نشده) قرار داده و پس از بررسی با قرار دادن یک سری دکمه وضعیت آن را تغییر دهید