передать параметры / данные в гиперссылке - лезвие laravel

Я пытаюсь передать данные с одной страницы на другую через гиперссылку. Вот URL.

<a href="{{url('page-name/sometext')}}">click here </a>

Мой маршрут: -

Route::get('page-name/{sometext}', 'MyController@pagename');

В контроллере: -

function pagename(Request $request){
        $sometext=$request->sometext;
        return view('page-name')-with($sometext);
}

Теперь пытаемся получить данные на второй странице.

{{$sometext}}

Но он показывает эту ошибку: -

Объект класса Illuminate \ View \ View не может быть преобразован в int

Убедительная просьба, если есть другой способ для этого!


person Sajjad Ali    schedule 21.10.2019    source источник


Ответы (2)


Вы используете метод get и получаете с параметром. так что нет необходимости писать Request $request

HTML

<a href="{{url('page-name/sometext')}}">click here </a>

Маршрут: -

Route::get('page-name/{sometext}', 'MyController@pagename');

Контроллер: - необходимо изменить

function pagename($sometext){
        return view('page-name',compact('sometext'));
}

Теперь в файле page-name.blade.php вы можете получить эту переменную как

{{ $sometext }}
person Dilip Hirapara    schedule 21.10.2019
comment
он работает, но теперь URL-адрес страницы изменился с 127.0.0.1:8000/page-name на 127.0.0.1:8000/page-name/sometext, поэтому эта страница не подключается к другие файлы [css / js / bootstrap], т.к. они были связаны со страницей 127.0.0.1:8000/page- имя. как побороть это? - person Sajjad Ali; 21.10.2019
comment
Я думаю, что проблема в загрузке css js. Вы можете ctrl+U и проверить URL. - person Dilip Hirapara; 21.10.2019
comment
Я установил css, js url в соответствии с 127.0.0.1:8000/page-name bcz, на страницу будет отправлено несколько текстовых переменных, а URL-адрес страницы будет постоянно меняться, например 127.0.0.1:8000/page-name/text -one, 127.0.0.1:8000/page-name/text-two и т. д., а затем как установить ссылки css, js, bootstrap для этой страницы. - person Sajjad Ali; 21.10.2019
comment
@SajjadAli пробовали ли вы связать свой css, js или что-нибудь в своей общей папке с помощью {{ asset('css/style.css') }}. Таким образом, вам не придется вручную изменять ссылку, поскольку она всегда будет указывать на вашу общую папку. ЕСЛИ вы не связали его напрямую с веб-сайта (например, cdn начальной загрузки, онлайн-библиотека jquery и т. Д.) - person Steven; 21.10.2019
comment
попробовал, но не знал, зачем использовать актив, спасибо - person Sajjad Ali; 21.10.2019

Когда вы передаете данные по маршруту с помощью такого метода get,

Route::get('page-name/{sometext}', 'MyController@pagename');

тогда вам нужно определить количество параметров в вашем методе как,

function pagename(Request $request,$someText=""){
        //$sometext=$request->sometext;
        return view('page-name')-with("someText",$someText);
}
person PriyankMotivaras    schedule 21.10.2019