مسا الخير شباب كيفكن

انا أقوم ببرمجة موقع إختصار روابط بإستخدام laravel 5.3

كما نعلم كل من يدخل الموقع يستطيع إختصار الروابط إذا كان زائر أو كان عضو مسجل في الموقع

بصراحة هنا لم اعرف التعامل مع ال middleware كما نعلم ان بداية كل class في laravel

نقوم بتحديد نوع ال middleware إذا كان للمستخدمين أو للزوار

لدي الكلاس التالي لإختصار الروابط:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use App\Nitaq\Shorten;

use App\Link;

use App\User;

class LinksController extends Controller

{

/**

  • Create a new controller instance.

*

  • @return void

*/

public function __construct()

{

$this->middleware('auth');

}

public function shortenLink(Request $request) { $link_alias = [];

// Create object of Shorten class
$shorten = new Shorten();

// Object of Link
$link = new Link();

$link->link_original = $request['link_original'];
$link->link_title = $request['link_title'];
$link->link_desc = $request['link_desc'];

if (!empty($request['link_password'])) {
    $link->link_password = password_hash($request['link_password'], PASSWORD_BCRYPT, ["cost" => 12]);
}

$link->link_alias = $request['link_alias'];
if ($request->user()->links()->save()) {
    $message = true;
} else {
    $message = false;
}

return response()->json(['message' => $message], 200);

}

}

إختصار الروابط يتم عن طريق ال Ajax

المشكلة التي تظهر لدي

إذا لم يكن مسجل دخوله للموقع يعطيني خطأ أنه يجب عليه التسجيل

وإذا كنت مسجل دخول يظهر لي خطأ على ال console

POST http://localhost/short/link/short 500 (Internal Server Error)

رجاءً أحتاج إلى حل لمشكلة ال middle ware وما المشكلة التي تظهر لي لم أعرف حلها وشكرا للجميع .

أعتزر عن الإطالة