Неопределенное смещение: 0 в HandleExceptions-> handleError - PullRequest
0 голосов
/ 04 февраля 2020

У меня есть страница, которая используется для поиска пользователей. Если я выполнил поиск существующего пользователя, страница будет перенаправлена ​​на мою требуемую страницу. Если пользователь не существует, должно быть показано сообщение. Но для меня сообщение не отображается. Я знаю, может быть, это простая ошибка, но она не работает для меня. Я использую Laravel 5.8.

Ошибка:

Undefined offset: 0
in ClientsController.php (line 344)
at HandleExceptions->handleError.

Вот мой контроллер:

public function getMerchantDetails() {
    $user = $_GET['user'];
    $mid = $_GET['mid'];
    $activity = "User $user has searched this merchant";
    //This is for Activity Log Capturing. Added user variable
    DB::insert("INSERT INTO activitylog (mid,activity) values ('$mid','$activity')");
    //Activity ends here

    $mobile = $_GET['mobile'];
    $email = $_GET['email'];
    $m = '';
    if ($mobile != '') {
        $m = " AND primary_number = '" . $mobile . "' ";
    }
    $e = '';
    if ($email != '') {
        $e = " AND email = '" . $email . "' ";
    }
    $i = '';
    if ($mid != '') {
        $i = " AND mid = '" . $mid . "' ";
    }

    if ($m == '' && $e == '' && $i == '') {
        // print_r($m);
        // die();
        return response()->json(array('data' => ''), 200);
    } else {
        $res = DB::select(DB::raw("SELECT * FROM clients WHERE 1=1 " . $m . $e . $i . " LIMIT 1"));

        if (!$res) {
            //$res_config = DB::select( DB::raw("SELECT * FROM configuration WHERE code = 'PERL_SEARCH_MERCHANT'") );
            $perl_path = DB::select(DB::raw("SELECT * FROM configuration WHERE code = 'PERL_PATH'"));
            $perl_output = exec($perl_path[0]->description . ' -merchant_id ' . $mid . ' -mobile ' . $mobile . ' -email ' . $email);
            $r = json_decode($perl_output, true);
            if ($r['status'] == 'success') {
                if ($r['id'] != '') {
                    $res = DB::select(DB::raw("SELECT * FROM clients WHERE id = " . $r['id']));
                } else {

                    $res[0]['id'] = '';
                }
            }
        }

        return response()->json(array('data' => $res[0]), 200); (line 344)
    }
}

Мой Ajax код:

 $.ajax({
        "url": '{!! route('clients.fetchMerchantDetails') !!}',
        async: true,
        type: "GET",
        data: {
            mobile: mobile,
            email: email,
            mid: mid,
            user:userid
        },
        success: function (response) {
            var data = response.data
             if(data.id!=''){

                clientEditUrl = clientEditUrl.replace(':id', data.id);
                window.location = clientEditUrl;
            }else{

               $('.searchOutputDiv').html('<h3>No merchant found!</h3>');
           }

       }

   });
...