Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [inny][laravel5] budowanie linku na podstawie routingu
Forum PHP.pl > Forum > PHP > Frameworki
wujek2009
hej,

w jaki sposób odwołać się do routingu, który jest w klamrach namespacesa/grupy? Chce zbudować link za pomocą URL::route - tylko nie wiem jaki identyfikator wprowadzić trasy. Co bym nie wpisał to dostaje komunikat, że nie znaleziono trasy.

  1. Route::group(['prefix' => 'acp', 'namespace' => 'Admin'], function()
  2. {
  3. Route::get('dashboard', 'DashboardController@index');
  4. });
Pyton_000
żeby użyć route musisz użyć składni nazwanej route czyli:
  1. Route::group(['prefix' => 'acp', 'namespace' => 'Admin'], function()
  2. {
  3. Route::get('dashboard', ['uses' => 'DashboardController@index', 'as' => 'acp.dashboard.index']);
  4. });


Potem
  1. route('acp.dashboard.index');
wujek2009
Świetnie, dzięki.
Pyton_000
Natomiast jeśli będziesz pewny że nazwy metod i kontrolerów się nie zmienią możesz też użyć

  1. Url::action('DashboardController@index')

wtedy Twój kod zadziała bez problemu.
wujek2009
Miałbym kilka drobnych pytań;

1) W jaki sposób zbudować nawiasy podczas budowania zapytania przez np. eloquent? Chcę uzyskać wynik:

Kod
WHERE (login = 'xx' OR username = 'yy') AND password = 'admin'


2) W jaki sposób mogę zbudować zapytanie gdzie użyję parametru "IN" lub "NOT IN" ? Wiem, że mógłbym rzucić whereRaw i sobie zbudować, ale czy jest funkcja w Builderze, która po przekazaniu argumentów zbuduje mi rządany efekt?

Kod
->xx('username', 'IN', array('admin', 'bolek', 'lolek');


3) Własna funkcja w modelu (publiczna) - chcę stworzyć własną funkcję filtrującą i odwołać się do niej w kontrolerze. Tylko w jaki sposób dostać instancje klasy z modelu?
W tej chwili odwołuje się po prostu przez metody statyczne, tj:

Kod
User::lista_wynikow(arg);


w kohanie frameworku była fabryka, która zwracała cały konstruktur - a w laravel jak to wygląda?
Kod
$user = new User;
$lista = $user->lista_wynikow(arg);
Pyton_000
1) Jakoś takoś
  1. User::where(function($query) {
  2. $query->where('login', 'xxx')
  3. ->orWhere('email', 'adres@email');
  4. })->where('password', 'xcccx');


2) użyj ->whereIn('id', [2,4,5]) lub ->whereNotIn()

3) Możesz wyjaśnić co chcesz zrobić?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.