Size: a a a

Laravel для начинающих

2021 June 30

AH

Andrey Helldar in Laravel для начинающих
https://laravel.com/docs/8.x/routing#accessing-the-current-route

use Illuminate\Support\Facades\Route;

Route::currentRouteName();
источник

SS

Serg Serdyuk in Laravel для начинающих
null, в том и дело что до вызова $next() не отдает
источник

SS

Serg Serdyuk in Laravel для начинающих
        dump(\Route::currentRouteName()); //null
       $response = $next($request);
   dd(\Route::currentRouteName());//catalog.product
источник

AH

Andrey Helldar in Laravel для начинающих
Точно сказать не могу, с вьюхами не работал больше года. Уже не помню как с ними.

Но даже если и так, вызов $next($request) у него производится выше сразу при открытии метода.
источник

SS

Serg Serdyuk in Laravel для начинающих
хэх... придется походу выкручиваться по другому
источник

EG

Egor Gruzdev in Laravel для начинающих
view() и $next() поменяй местами
источник

SS

Serg Serdyuk in Laravel для начинающих
тогда не будет доступен текущий роут, в логике от него разные запросы строятся
источник

EG

Egor Gruzdev in Laravel для начинающих
также можешь зарегать view и там в __constructor подтянуть Request и уже там поискать routeName
источник

EG

Egor Gruzdev in Laravel для начинающих
view composer быдет вызван в посдений момент когда у тебя есть routeName
источник

SS

Serg Serdyuk in Laravel для начинающих
во, а это кстати мысль, через класс, а не коллбек
источник

EG

Egor Gruzdev in Laravel для начинающих
view()->composer() - это подписка, она сработает в момент отрисовки, а не в момент регистрации
источник

Д

Дмитрий in Laravel для начинающих
Экспортирую файл на арабском языке, и с кодировкой utf-8, в экселе появляются кракозябры, как сделать так чтобы ексель файл открывался в заданной кодировке?
источник

EG

Egor Gruzdev in Laravel для начинающих
csv?
источник

Д

Дмитрий in Laravel для начинающих
да
источник

EG

Egor Gruzdev in Laravel для начинающих
добавь в начало файла
$bom = chr(0xEF) . chr(0xBB) . chr(0xBF)
источник

VH

Vlad Horpynych in Laravel для начинающих
Я так понимаю, этот вариант отлично отрабатывает, если нужно создать одинаковое количество и Foo, и Bar (т.к. вроде как нельзя указать count для hasBars)

А мне нужно, например, чтобы Foo было десять экземпляров, а Foo - 5 экземпляров

По идее, тогда мне нужно прописать что-то подобное?
DatabaseSeeder.php

$foo = \App\Models\Foo::factory(20)->create();

\App\Models\Foo::factory()
 ->count(5)
 ->create();
 
\App\Models\Bar::factory()
 ->count(10)
 ->create()
 ->each(function ($bar) {
   $bar->attach(rand(1, 5))->save();
 });
источник

AH

Andrey Helldar in Laravel для начинающих
use App\Models\Foo;

$foo = Foo::factory()
   ->count(10)
   ->hasBars(5)
   ->create();
источник

SS

Serg Serdyuk in Laravel для начинающих
да разобрался, пасиб за идею с классом, так сработало, забыл эту возможность чот)
источник

VH

Vlad Horpynych in Laravel для начинающих
Я понял, это я ступил
Я прописал в "hasBars" 1
источник

VH

Vlad Horpynych in Laravel для начинающих
Подправил, теперь всё корректно
источник