Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 Laravel 5.x » Ошибка после переезда на хостинг » 04.03.2020 16:24:05

sm1ar
Ответов: 1

После переезда проекта с локального сервера на хостинг, в логах с большой периодичностью появляется такая ошибка. Пожалуйста помогите. Кэш чистил перед переносом. Но в логах, видно, присутствуют старые локальные пути. О чем говорит эта ошибка? Как можно её исправить?:

[04-Mar-2020 00:26:17 Europe/Moscow] PHP Fatal error:  Uncaught ErrorException: file_exists(): open_basedir restriction in effect. File(D:\OSPanel\domains\local.loc\storage\framework\views/82d705a5c40f9b4745867f00d55814f2d844b508.php) is not within the allowed path(s): (/home/mysit/:/tmp:/var/tmp:/usr/local/lib/php/:/usr/local/php72/lib/php/) in /home/mysit/domains/mysite.com/public_html/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:23
#0 [internal function]: Illuminate\Foundation\Bootstrap\HandleExceptions->handleError(2, 'file_exists(): ...', '/home/mysit/...', 23, Array)
#1 /home/mysit/domains/mysite.com/public_html/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(23): file_exists('D:\\OSPanel\\doma...')
#2 /home/mysit/domains/mysite.com/public_html/vendor/laravel/framework/src/Illuminate/View/Compilers/Compiler.php(67): Illuminate\Filesystem\Filesystem->exists('D:\\OSPanel\\doma...')
#3 /home/mysit/domains/mysite.com/public_html/vendor/laravel/framework/src/Illuminate/Vi in /home/mysit/domains/mysite.com/public_html/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php on line 23

#3 Laravel 5.x » Вывод значения из одного запроса в двух разных местах » 21.12.2019 04:33:04

sm1ar
Ответов: 2

Пожалуйста подскажите. На сайте в двух местах (шапке сайта и сайдбаре) выводится количество непрочитанных уведомлений. Проблема в том что не получается сделать один запрос к БД, а вывести это значение в двух разных макетах сайта одной страницы. Делаю так:
AppServiceProvider.php:
public function boot()
    {
      view()->composer(['layouts.app','profile.sidebar'], function($view){
            $view->with('notteCount', Notifications::where('status',1)->where('user_hero', Auth::user()->id)->count());
        });

    }
В обоих вьюшках подставляю эту переменную и в итоге получаю два дублирующих запроса на странице. Как исправить так, чтобы обойтись одним запросом?

#4 Re: Laravel 5.x » Как удалить относящиеся уведомления к посту, при его удалении? » 14.05.2019 01:00:03

Простите за оффтоп, но разве если у модели связи прописаны это всё равно не сработает и без указания ключей в миграции? Я думал раньше что эти связи в миграциях прописывают только для того чтобы облегчить поиск серверу

#6 Laravel 5.x » Выводить по 5 записей » 12.05.2019 11:50:11

sm1ar
Ответов: 2

Здравствуйте. Пожалуйста подскажите. Вёрстка предполагает, что названия категорий выводятся по 5 штук. Следующие 5 штук выводятся в новом div, в новой колонке. Как такой вывод порциями, по 5 можно, организовать в шаблоне при обходе форичем всех имеющихся категорий?
        <ul class="kat1">
            <li><a class="btn btn-xs btn-primary btn-outlined" href="#">Downloads</a></li>
            <li><a class="btn btn-xs btn-primary btn-outlined" href="#">Freebies</a></li>
            <li><a class="btn btn-xs btn-primary btn-outlined" href="#">Envato</a></li>
            <li><a class="btn btn-xs btn-primary btn-outlined" href="#">Tutorial</a></li>
            <li><a class="btn btn-xs btn-primary btn-outlined" href="#">Update</a></li>
        </ul>
        <ul class="kat2">
            <li><a class="btn btn-xs btn-primary btn-outlined" href="#">Downloads</a></li>
            <li><a class="btn btn-xs btn-primary btn-outlined" href="#">Freebies</a></li>
            <li><a class="btn btn-xs btn-primary btn-outlined" href="#">Envato</a></li>
            <li><a class="btn btn-xs btn-primary btn-outlined" href="#">Tutorial</a></li>
            <li><a class="btn btn-xs btn-primary btn-outlined" href="#">Update</a></li>
        </ul>

#8 Laravel 5.x » Как выбрать самые залайканные посты по частоте упоминания их id » 26.12.2018 01:04:30

sm1ar
Ответов: 2

Здравствуйте. Это сложный запрос, но может кто-то сможет помочь. Уже сломал голову.
Смысл такой: На сайте у каждого пользователя есть возможность лайкнуть пост. Т.е. если он нажмёт на кнопку, то в таблице Like появится новая запись с id лайкнутого поста.
Подскажите пожалуйста, как выбрать 3 записи (по столбцу alias таблицы Post) самых популярных (у которых в колонке post_id Like больше всего повторяющихся значений).
Post
id  alias
1   Первая статья
2   Десятая статья
3   Двадцатая статья
4   Тридцатая статья

Like
id  post_id
1   2
2   2
3   4
4   1

В примере выше, больше всего лайкали посты с id 2, 1, 4. В результате я должен получить в выборке 3 эти статьи по порядку убывания их частоты упоминания в столбце post_id:
1. Десятая статья    -2 like
2. Первая статья    -1 like
3. Тридцатая статья    -1 like

#9 Веб-разработка » Ограничение на количество символов » 11.06.2018 22:52:15

sm1ar
Ответов: 1

Пожалуйста подскажите. Вывод определённого количества символов из БД можно ограничить, например, с помощью хэлпера str_limit. А как сделать так чтобы, сколько пользователь не вводил в форму символов, в БД попадало только первые 20 символов, а остальное обрезалось?

#11 Laravel 5.x » Роль при Регистрации по умолчанию » 15.05.2018 20:40:35

sm1ar
Ответов: 2

Ребят, пожалуйста подскажите. Есть простая регистрация пользователя, в контроллере сохраняются данные в таблицу users:
return User::create([
            'name' => $data['name'],
            'email' => $data['email'],
            'password' => Hash::make($data['password']),
        ]);
Как можно так сделать, чтобы ещё и в другую таблицу role_user(id,user_id,role_id), при регистрации нового пользователя, сохранялся id соответствующего юзера и роль по умолчанию у всех(role_id = 1)?

#13 Laravel 5.x » Как удалить папку с файлами из public при удалении материала » 02.05.2018 23:28:22

sm1ar
Ответов: 2

Пожалуйста помогите. Лежат в папках, по пути public_path().'/'.config('settings.theme').'/images/article/'.$data['id'] картинки к каждой статье сайта.
Как можно так сделать, чтобы вместе со статьёй удалялась и связанная с ней эта папка с картинками?

#15 Веб-разработка » Upload Multiple Images в БД » 18.04.2018 00:35:16

sm1ar
Ответов: 2

Пожалуйста помогите. Есть в представлении форма:
{!! Form::file('image[]', ['class' => 'filestyle','data-buttonText'=>'Выберите изображение', 'multiple'=>true, 'data-buttonName'=>"btn-primary",'data-placeholder'=>"Файла нет"]) !!}

Как в контроллере написать, чтобы в поле img, таблицы БД MySQL сохранялся json массив вида:
{"akboTD4Ft.jpg","fkboTD4Ft.jpg","nkboTD4Ft.jpg"}, который содержит названия всех сохраняемых файлов?

Или если так делать не стоит, возможно лучше будет создать для этого отдельную таблицу для картинок? Которая будет содержать два поля (имя файлов и id принадлежащей записи). Если так, то как написать это в контроллере?

Подвал раздела