Получение ошибки, как указано ниже, при передаче трех значений массива из контроллера в представление (т. Е. На одну и ту же страницу) - PullRequest
0 голосов
/ 11 мая 2018

Найдите под кодом контроллера:

    public function domaincheck()
{

    $response = file_get_contents('https://resellertest.enom.com/interface.asp?command=check&sld=unusualTVname&tld=tv&uid=resellid&pw=resellpw&responsetype=xml');  
        $data = simplexml_load_string($response);
        $configdata   = json_encode($data);
        $final_data = json_decode($configdata,true);// Use true to get data in array rather than object
        // dd($final_data);



        $response1 = file_get_contents('http://resellertest.enom.com/interface.asp?command=GETNAMESUGGESTIONS&UID=resellid&PW=resellpw&SearchTerm=hand&MaxResults=5&ResponseType=XML');       
        $data1 = simplexml_load_string($response1);
        $configdata1   = json_encode($data1);
        $final_data1 = json_decode($configdata1,true);// Use true to get data in array rather than object
        //dd($final_data1);


        $response2 = file_get_contents('https://resellertest.enom.com/interface.asp?command=gettldlist&UID=resellid&PW=resellpw&responsetype=xml');  
        $data2 = simplexml_load_string($response2);
        $configdata2   = json_encode($data2);
        $final_data2 = json_decode($configdata2,true);
        //dd($final_data2);


       return view('clientlayout.main.test',array('final_data1' => 
       $final_data1), array('final_data' => $final_data), 
       array('final_data2' => $final_data2));

}

Найдите код просмотра, указанный ниже:

{{print_r($final_data)}}

<br><br><br>

{{print_r($final_data1)}}
<br> 

{{print_r($final_data2)}}

Найдите код маршрута, указанный ниже:

Route::get('/test','EnomController@domaincheck');

Мне нужно вернуть все три массива на страницу просмотра, но когда я использую код возврата return, приведенный выше, я получаю ошибку как «Неопределенная переменная: final_data2» только для третьего массива. Если я объявляю только два оператора массива в виде возвратаэто работает правильно.Предложите мне решение этой ошибки.

Ответы [ 2 ]

0 голосов
/ 11 мая 2018

в дополнение к ответу @achraf, если вы не хотите использовать те же имена переменных в вашем представлении, что и в вашем контроллере, вы можете передать данные в ваше представление следующим образом. где final1, final2 и final3 будут именами переменных в вашем представлении.

return view('clientlayout.main.test',['final1' =>$final_data ,'final2'=> $final_data1,'final3' => $final_data2]);
0 голосов
/ 11 мая 2018

Просмотр второго параметра в качестве массива, отправка нескольких массивов, решение состоит в том, чтобы создать массив массивов, подобных этому

return view('clientlayout.main.test',compact('final_data','final_data1','final_data2'));
...