Jak przejsc do innego widoku w Laravel ?

Jak przejsc do innego widoku w Laravel ?
V2
  • Rejestracja:około 4 lata
  • Ostatnio:3 miesiące
  • Postów:86
0

Cześć! Mam widok welcome, gdzie link, któy jak klikne to powinien przenosić do widoku hello i wyświetlać tekst "Witaj na stronie". Szukam błedu i nie moge znaleŹĆ, moze ktos pomoze, bo dopiero zaczynam sie uczyc laravela.
plik welcome.blade.php

Kopiuj
 <body class="antialiased">
                            <a href="{{ url('/hello') }}">Druga strona</a>
    </body>

plik hello.blade.php

Kopiuj
 <body>
        @isset($hello)
            <h2>{{ $hello }}</h2>
        @endisset

        <a href="{{ url('/') }}">Wróć na główną</a>
    </body>

plik ArticleController.php

Kopiuj
namespace App\Http\Controllers;

use Illuminate\Http\Request;

class ArticleController extends Controller
{
    public function index()
    {
        return view("hello")->with("hello", "Witaj na stronie!");
    }
}

plik web.php

Kopiuj
Route::get('/', function () {
    return view('welcome');
});

Route::get('/hello', 'ArticleController@index');
L7
  • Rejestracja:ponad 13 lat
  • Ostatnio:około 10 godzin
  • Postów:433
0

Czemu przesyłasz metodą with stringi zamiast tablicę?

edytowany 1x, ostatnio: leonpro778
mr_jaro
to akurat nie jest przyczyną problemu
L7
zgadzam się, zapytałem się tylko o to bo TEORETYCZNIE powinno to działać :)
masterc
swoja droga nawet nie trzeba nic wysylac do widoku zeby miec dostep do tych zmiennych XD
mr_jaro
  • Rejestracja:prawie 14 lat
  • Ostatnio:ponad 3 lata
  • Lokalizacja:Grudziądz/Bydgoszcz
  • Postów:5300
0

Opisz co się dokładnie dzieje i która wersja laravela.

Podejrzewam że masz problem w routingu. zmień ostatnią linię na:

Kopiuj
Route::get('/hello', [ArticleController::class, 'index']);

It's All About the Game.
edytowany 3x, ostatnio: mr_jaro
Riddle
ArticleController@index też jest walidne w Laravelu
mr_jaro
@TomRiddle: w 8 nie działa od razu, trzeba troche pokombinować.
V2
  • Rejestracja:około 4 lata
  • Ostatnio:3 miesiące
  • Postów:86
0

@mr_jaro:
Zmieniłem tak w routingu, i teraz ciągle jestem na stronie hello i nie mogę wrócić na strone startową

Kopiuj
Route::get('/', function () {
    return view('welcome');
});

Route::get('/', function () {
    return view('hello');
});



Route::get('/hello2', [ArticleController::class, 'index']);
masterc
no bo uzyles GET na '/' wiec ostatnia linia jest bran apod uwage wiec zawsze na glownej bedziesz widzzial HELLO
masterc
  • Rejestracja:około 4 lata
  • Ostatnio:ponad 3 lata
  • Postów:425
0

Jaka uzywasz wersje laravela ?


Wymyśliłem, że nie chce mi się.
masterc
A jaki masz blad ? n bo nie napisales
V2
Na stronie welcome jest link do widoku hello, i po nacisnieciu tego przycisku przenosi mnie na widok hello, ale tam wyswietla sie tylko link z powrotem na poprzednią strone, a powinno się tak wyswietlac napis witaj na stronie
mr_jaro
  • Rejestracja:prawie 14 lat
  • Ostatnio:ponad 3 lata
  • Lokalizacja:Grudziądz/Bydgoszcz
  • Postów:5300
1

Zobacz co teraz zrobiłeś... masz 2 razy link "/" usuń drugi route i będzie ci wszystko chodzić


It's All About the Game.
edytowany 1x, ostatnio: mr_jaro
V2
  • Rejestracja:około 4 lata
  • Ostatnio:3 miesiące
  • Postów:86
0

@mr_jaro:

Takie cos tez nie działa. Teraz jak klikne na głownej stronie link do pojawia się bład Illuminate\Contracts\Container\BindingResolutionException
Target class [ArticleController] does not exist.

Kopiuj
Route::get('/', function () {
    return view('welcome');
});


Route::get('/hello', 'ArticleController@index');
mr_jaro
  • Rejestracja:prawie 14 lat
  • Ostatnio:ponad 3 lata
  • Lokalizacja:Grudziądz/Bydgoszcz
  • Postów:5300
0

omg... czemu teraz wywaliłeś to co ja ci podałem???

Twój rounting powinien wyglądać tak:

Kopiuj
use App\Http\Controllers\ArticleController;

Route::get('/', function () {
    return view('welcome');
});

Route::get('/hello', [ArticleController::class, 'index']);

It's All About the Game.
edytowany 2x, ostatnio: mr_jaro
V2
To nic nie zmieniło, nadal tak samo jest bład Illuminate\Contracts\Container\BindingResolutionException Target class [ArticleController] does not exist.
mr_jaro
@veks21: mój błąd, teraz skopiuj to co podałem.
masterc
  • Rejestracja:około 4 lata
  • Ostatnio:ponad 3 lata
  • Postów:425
0

wejdz do pliku web.php i dodaj

Kopiuj
<?php
namespace App\Http\Controllers;

a jak nie chcesz tego dodawac to dodaj

Kopiuj
Route::get('/hello', [App\Http\Controllers\ArticleController::class, 'index']);

Tak to rut nie wie gdzie ma aszukac twojego ArtickeController

i wywal to

Kopiuj
use App\Http\Controllers\ArticleController;

bo bys musial pisac do kazdego ruta taka sciezke z use wiec lepiej daj namespace


Wymyśliłem, że nie chce mi się.
edytowany 6x, ostatnio: masterc

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.