Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
После переезда проекта с локального сервера на хостинг, в логах с большой периодичностью появляется такая ошибка. Пожалуйста помогите. Кэш чистил перед переносом. Но в логах, видно, присутствуют старые локальные пути. О чем говорит эта ошибка? Как можно её исправить?:
[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
Спасибо! Очень выручили. Это то что надо.
Пожалуйста подскажите. На сайте в двух местах (шапке сайта и сайдбаре) выводится количество непрочитанных уведомлений. Проблема в том что не получается сделать один запрос к БД, а вывести это значение в двух разных макетах сайта одной страницы. Делаю так:
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());
});
}
В обоих вьюшках подставляю эту переменную и в итоге получаю два дублирующих запроса на странице. Как исправить так, чтобы обойтись одним запросом?
Простите за оффтоп, но разве если у модели связи прописаны это всё равно не сработает и без указания ключей в миграции? Я думал раньше что эти связи в миграциях прописывают только для того чтобы облегчить поиск серверу
Спасибо Вам
Здравствуйте. Пожалуйста подскажите. Вёрстка предполагает, что названия категорий выводятся по 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>
Спасибо вам огромное. Это должно сработать
Здравствуйте. Это сложный запрос, но может кто-то сможет помочь. Уже сломал голову.
Смысл такой: На сайте у каждого пользователя есть возможность лайкнуть пост. Т.е. если он нажмёт на кнопку, то в таблице 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
Пожалуйста подскажите. Вывод определённого количества символов из БД можно ограничить, например, с помощью хэлпера str_limit. А как сделать так чтобы, сколько пользователь не вводил в форму символов, в БД попадало только первые 20 символов, а остальное обрезалось?
Спасибо! Это то что нужно.
Ребят, пожалуйста подскажите. Есть простая регистрация пользователя, в контроллере сохраняются данные в таблицу 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)?
Morry, спасибо за подробный ответ! Всё понятно стало
Пожалуйста помогите. Лежат в папках, по пути public_path().'/'.config('settings.theme').'/images/article/'.$data['id'] картинки к каждой статье сайта.
Как можно так сделать, чтобы вместе со статьёй удалялась и связанная с ней эта папка с картинками?
Ocnelias, спасибо Вам большое!
Пожалуйста помогите. Есть в представлении форма:
{!! 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 принадлежащей записи). Если так, то как написать это в контроллере?