رفتن به مطلب
انجمن پشتیبانی لاراول ایران

saber

مدیرکل
  • تعداد ارسال ها

    341
  • تاریخ عضویت

  • آخرین بازدید

  • Days Won

    77

تمامی ارسال های saber

  1. با تابع dd چک کنید ببیند دیتای ورودی شما به متد store چی هست احتمال داره مقادیر خالی داشته باشید و یا یه relation داشته باشید که null باشه
  2. توی مقادیر ارسالی شما مقدار phone وجود نداره و چون phone رو nullable نذاشتید خطا میده باید در کنترلهای auth به کنترلر RegisterController برید و در متد create مقدار phone رو هم دریافت و به مادل User ارسال کنید
  3. الان این مشکل شما فک نمیکنم ارتباطی به روتها داشته باشه باید ببینیم رجستر رو چطوری پیاده سازی کردید توی کنترلر RegisterController متد create رو چک کنید dd کنید ببینید چه اطلاعاتی ارسال میشه. اون کدهای api.php هم برای رفع مشکل دستور artisan هست نه برای ثبت نام.
  4. الان اون خطای اجرای دستور artisan که داشتید رفع شده. شما الان هچکدوم از روتها رو نمیتونید باز کنید؟ چون الان داخل web.php روت admin رو ندارید
  5. علاوه بر مواردی که استاد طالبی گفتن مشکل شما بخاطر نوع route هایی هست که ساختید روتهای شما از نوع Closures هستن و php نمیتونه اونها رو serialize کنه برای رفع مشکل روتها رو در فایل web.php از طریق controller های مربوطه بسازید مثلا برای ادمین اگر کنترلر شما AdminController باشه به شکل زیر بنویسید Route::get('/admin', 'AdminController@index')->name('admin'); و همینطور چون auth لاراول رو اجرا کردید بطور خودکار در فایل api.php یه سری کد مشابه کدهای زیر ایجاد شده Route::middleware('auth:api')->get('/user', function (Request $request) { return $request->user(); }); که اگر لازم ندارید همه کدهای api.php رو به حالت کامنت دربیارید تا غیرفعال بشن و یا از طریق کنترلر route رو ایجاد کنید اگر UserController دارید کد بالا رو به شکل زیر تغییر بدید Route::middleware('auth:api')->get('/user', 'UserController@AuthRouteAPI'); و در فایل UserController متد زیر رو وارد کنید public function AuthRouteAPI(Request $request){ return $request->user(); } بعد از انجام این کارها میتونید دستور php artisan route:cache رو اجرا کنید
  6. روی لوکال باز نمیشه اینو باید بعد از اینکه به هاست منتقل کردید فعال کنید میتونید توی میدلور یه شرط بذارید و چک کنید اگر حالت production بود کدهای داخل متد handle اجرا بشن if(config('app.env') == 'production') برای نام دامین هم در لوکال باید دامین مجازی یا همون VirtualHost درست کنید
  7. لطفا سوالتون رو در یه تاپیک پیگیری کنید و تاپیک تکراری ایجاد نکنید توی تاپیک قبلی بهتون پاسخ دادم
  8. میتونید یه میدلور مثلا به اسم CheckWww ایجاد کنید و متد اون رو به شکل زیر بنویسید و در نهایت این میدلور رو روی تمامی route ها اعمال کنید public function handle($request, Closure $next) { $host = $request->header('host'); if (substr($host, 0, 4) != 'www.') { $request->headers->set('host', 'www.' . $host); return Redirect::to($request->path(), 301); } return $next($request); }
  9. چیزی که از خطا مشخص هست فیلد name رو بدون مقدار به دیتابیس ارسال میکنید و چون name رو nullable قرار ندادید ارور میده اگر فیلد name ضروری هست که قاعدتا باید ضروری باشه قبل از ارسال به دیتابیس اعتبار سنجی کنید که حتما مقدار داشته باشه و خالی ارسال نشه
  10. متد filter از لاراول 5 به بعد کار نمیکنه شما باید از middleware استفاده کنید و تغییراتتون رو از طرق میدلورها اعمال کنید
  11. میتونید از پکیج زیر استفاده کنید که با PhpSpreadsheet یکی از بهترین کلاسهای کار با اکسل در php ایجاد شده https://github.com/Maatwebsite/Laravel-Excel
  12. در کنترلر RegisterController مربوط به auth توی متد create مقدار کدملی رو هم به متد User:create ارسال کنید
  13. saber

    social media

    نیازی به استفاده از پکیج خاصی نیست اگر میخواید توی دیتابیس ذخیره کنید و از دیتابیس اطلاعاتش رو بگیرید یک روشی که میتونید اینکار رو انجام بدید این هست که در مدیریت سایت یه بخش تنظیمات ایجاد کنید که جدول دیتابیسش دو تا ستون key و value داشته باشه و تنظیمات بخشهای مختلف سایت رو از جمله همین شبکه های اجتماعی رو داخلش ذخیره کنید(مثلا برای تلگرام key میشه telegram و value هم میشه نام کانال یا هر چیزی که میخواید) و براحتی در سایت هم اطلاعات رو از دیتابیس دریافت و نمایش بدید.
×
×
  • جدید...