->contains('id', $category->id);
//так же его потом передаём в шаблон
$filename = uniqid($this->ssid . '_', true) . '.png';
// storage/public/qr-wifi/имя_файла, только абсолютный
$filepath = storage_path('public/qr-wifi/' . $filename);
QrCode::size(300)->format('png')->generate('WIFI:T:'.$this->encryption.';S:'.$this->ssid.';P:'.$this->password.';;', $filepath);
$this->sucsses = 'ok';
//Потом в шаблоне
//после выполнения линковки storage , в публичной папке должно появится папка storage
// Которая связана с storage/public в корне проекта (storage/public -> public/storage)
// Поэтому к файлам из шаблонов можно обращаться как:
<a href="storage/qr-wifi/{{$filename}}"> Скачать </a>
// или с хелпером asset, только нужно помнить что он генерирует с учетом настроек ASSET_URL(его меняют если есть CDN)
<a href="{{ asset('storage/qr-wifi/' . $filename) }}"> Скачать </a>
QrCode::generate('WIFI:T:WPA;S:mynetwork;P:mypass;;', '../public/qr-wifi/qqq.svg');
use Illuminate\Support\Facades\Storage;
/*
Задаём путь по которому будет хранится картинка, сразу говорю
имя файла нужно делать уникальным чтобы файл не перезаписывался каждый раз.
Так ж у php должны быть права на запись в папку в которую вы сохраняете картинку
класс Storage будет сохранять по пути относительно директории storage/app/
*/
// сохранится в storage/app/public/qr/nameofpng.svg
// nameofpng.svg - лучше генерировать случайным
$pngPath = Storage::path('public/qr/nameofpng.svg');
//То что кодируем, в данном случае условная строка wifi подключения
$wifiCode = 'wifi:BLABLABLA';
$qr = QrCode::format('png')->size(300)->generate($wifiCode, $pngPath);
// далее в шаблон передаёте переменную $pngPath, где с помощью
Storage::url( $pngPath);
//или
'/storage' . $pngPath;
//PS не забываем что нужно сделать сим лин с помощью php artisan storage:link
<img src="data:image/png;base64, {!! base64_encode(QrCode::format('png')->size(300)->wiFi([
'ssid' => $this->ssid,
'encryption' => $this->encryption,
'password' => $this->password
])) !!} ">
<a
download="qr.png"
href="data:image/png;base64, {!! base64_encode(QrCode::format('png')->size(300)->wiFi([
'ssid' => $this->ssid,
'encryption' => $this->encryption,
'password' => $this->password
]))" class=""></a>
я, честно говоря, там не смотрел подробно, только начало. Видимо у меня уже прошились мозги намертво связав одно с другим. Возвращать далее Eloquent в целом практически бессмысленно (точнее тогда бессмысленны предыдущие шаги).
Впрочем, для начала, как первые шаги, подойдёт :-) , а далее конечно же добавить DTO и в репозитории заменить.