Laravel по-русски

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

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

#1 Re: Laravel 5.x » как исправить это » Вчера 19:48:03

Proger_XP, ты теряешь время зря. он не новичёк, в смысле лет ему много и на форумах он сидит не первый год. ему уже тысячи раз говорили "программирование не твоё". видимо мы недостаточно убедительны.
как ему помочь? да никак. только пожалеть и забыть.

про синтаксис "user:" не знал, спасибо.

#2 Re: Laravel 5.x » как исправить это » 02.07.2020 18:22:23

Я ошибся, отредактировать уже не получится.
chmod - смена атрибутов доступа. а смена владельца - chown. Здесь тот редкий случай когда sudo реально нужен.

sudo chown ... и так далее. примени мозг, а не копируй.

#3 Re: Laravel 5.x » как исправить это » 02.07.2020 16:10:59

Если ты по неосторожности создал что-то из-под рута, (то есть через sudo, когда он нафиг был не нужен) просто поменяй хозяина для всех папок и файлов своего "хостинга".

chown -R www-data:www-data /var/www/

Прежде чем делать, убедись что ты понимаешь смысл этой команды!

#4 Re: Laravel 5.x » как исправить это » 02.07.2020 16:08:20

Узнаю друга убунту. Зачем вникать самому, когда есть форум, да?

Permission denied значит что нет прав. Обычно это значит что папка создавалась не тем пользователем, под которым работает веб-сервер. Самое логичное решение для личного сервака — во всех случаях использовать учётку www-data.

#5 Re: Laravel 6 и 7 » престлавутый JOIN » 01.07.2020 10:59:14

Поддерживаю nailfor, но...

Сначала надо выяснить в каком виде ты получаешь tags когда их несколько. Список через запятую можно разобрать через explode(). Но если в параметре tags уже массив, то будет ошибка. Тип зависит от фронта, мы его здесь не видим. Сделай временно вывод диагностики:

dd(request->input('tags'));

Если в выводе увидишь массив, то надо будет строку с explode переделать на

$tags = (array) request->input('tags')

И дальше можно так:

$query->join('post_tags as pt', 'p.id', '=', 'pt.post_id')
->when($tags, function ($query) use ($tags) {
    $query->whereIn('pt.slug', $tags);
});

#6 Re: Общий раздел » Какая стабильная версия Laravel » 27.06.2020 07:21:40

Если интересует стабильный как "будет долго поддерживаться" (LTS) то 6.x (без указания минорной версии)

Создать новый проект в 6.x можно так: laravel/laravel:^6
Можно также явно указать что интересуют стабильные версии пакетов --stability="stable"
, тогда в composer.json попадут такие строки:

    "minimum-stability": "dev",
    "prefer-stable": true,

итого:

composer create-project --stability="stable" laravel/laravel:^6 myproj

на сегодня эта команда создаёт проект в v6.18.8
а если убрать явную привязку к шестой версии, то создастся v7.12.0

https://igor.io/2013/02/07/composer-sta … flags.html

#7 Re: Laravel 6 и 7 » Laravel 7 сломался после composer update и composer dump-autoload » 18.06.2020 11:50:18

сделай php artisan route:clear чтобы отказаться от кеша или php artisan route:cache чтобы создать новый кеш

#9 Re: Веб-разработка » Что нового в mysql 8 ? » 15.06.2020 09:41:16

Если убунта версии 20, там по умолчанию mysql 8. Для ларавельщика ничего нового вроде бы не несёт. А так, версия добавляет в скорости и безопасности. Есть нюансы когда соединяешся клиентом mysql 8 с базой другой версии/ форком или наоборот, т.к. по умолчанию восьмёрка использует ssl и кодирует пароли иначе.

#10 Re: Общий раздел » Homestead и xdebug » 09.06.2020 22:21:48

Ищи не про Homestead, а про "virtualbox xdebug phpstorm" или вообще "remote host xdebug"
Примеров тысячи если не миллионы.

1. Убедись с помощью phpinfo(); что у тебя включен и работает xdebug! В той же выдаче phpinfo ты можешь найти REMOTE_ADDR - айпи адрес твоей хост машины, с которой ты открыл страничку. см.ниже

2. Конкретно про отладку на удалённом хосте отвечают параметры конфигурации со словом "remote". Например такие:

[xdebug]
zend_extension="xdebug.so"
xdebug.remote_autostart=1
xdebug.remote_enable=1
xdebug.remote_connect_back=0
xdebug.cli_color=0
xdebug.profiler_enable=0
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_port=9000
xdebug.remote_host = your host machine IP address
xdebug.idekey=PHPSTORM

здесь наверное много лишнего, но с таким набором оно работает smile подставь сюда IP своей хост машины

#11 Re: Общий раздел » Добавление\удаление столбцов в миграции » 01.06.2020 21:38:46

doctrine/dbal — раз написано в доке, значит нужна ) Другое дело что она возможно и без явного добавления уже в твоих зависимостях. Если заглянуть в composer.lock, можно обнаружить мноооого вторичных зависимостей.

#12 Re: Общий раздел » Добавление\удаление столбцов в миграции » 01.06.2020 06:40:43

Вообще-то принято показывать конкретный код и сообщение об ошибке чтобы мы не гадали.

Может быть твоя колонка участвует в каких-то отношениях? Или у тебя в одном блоке удаляется колонка и создаётся новая с тем же именем?

Ещё частные случаи, которые не могут быть обработаны стандартными миграциями и приходится что-то добавлять в composer или вызывать DB::statement("ALTER TABLE...")
На вскидку помню сложности с enum.

#14 Re: Общий раздел » Таблица "связей" » 29.05.2020 07:34:44

@JohnnyDoe, это не из-за Laravel, а происходит из особенностей реляционных баз данных. Многие-ко-многим в РСУБД делаются через таблицу-связку, иначе говоря, pivot. Ларавель только предоставляет доступ к БД. Если в базе должна быть таблица, значит должна быть и миграция чтобы её создать.

Совет: если в миграции для таблицы-связки ты объявишь уникальный составной индекс на пару полей (post_id, tag_id), то избежишь потенциальных проблем с дублированием записей.

#15 Re: Laravel 6 и 7 » The GET method is not supported for this route. » 19.05.2020 14:49:07

Ну не факт, что ошибка именно в этой строке. Маршрут может не попадать в кеш потому что что-то плохое происходит в процессе кеширования.

Выходят какие-то ошибки при выполнении команды? Есть что-то в логах?
Покажи весть файл.

#16 Re: Laravel 6 и 7 » The GET method is not supported for this route. » 19.05.2020 07:50:52

https://laravel.com/docs/master/controllers

Closure based routes cannot be cached. To use route caching, you must convert any Closure routes to controller classes.

может в этом дело?

#17 Re: Laravel 5.x » Установка laravel 5.2 спомощью laravel/installer » 24.04.2020 15:20:08

Пишут что можно так: 

laravel new blog --5.2

я не проверял. Не знаю зачем надо иметь отдельный инсталятор, когда composer уже есть и он всё делает.

#18 Re: Laravel 5.x » Ошибка в laravel echo server » 20.04.2020 06:29:30

Такой вопрос надо оформлять как issue в проекте laravel-echo-server. Только надо не забыть написать что он падает когда на вход поступают некорректные данные.

#19 Re: Laravel 6 и 7 » Передача пользователя в публичный роут » 13.04.2020 14:53:36

В документации есть отдельные страницы про аутентификацию и авторизацию. Это не зря! Они логически связаны, но это совсем не одно и то же.

#20 Re: Laravel 6 и 7 » Передача пользователя в публичный роут » 13.04.2020 14:47:37

1. Это неоднозначное описание маршрутов. resource подразумевает в том числе и index. Если ты хочешь определить один из экшенов отдельно, то надо прописать его сначала в списке исключений Route::resource(...)->except(['index'])
https://laravel.com/docs/7.x/controller … rce-routes

2. Когда никакой аутентификационный посредник не указан для маршрута, логично что в нём пользователь не определён.

Непонятно что ты имел в виду под словами "маршрут для обоих пользователей одинаковый".

Думаю по смыслу здесь не "авторизованный" а "аутентифицированный" больше подходит. Вечно вы путаете одно с другим smile Авторизованный значит получивший право на некое действие. Ааутентифицированный значит просто опознанный, или залогиненный, если так понятней.

#21 Re: Laravel 6 и 7 » Связь между моделью и миграцией » 30.03.2020 13:35:27

Если ты ищешь упоминание одного в другом, то такой связи нет. Ну и чисто гипотетически миграция может затрагивать более одной модели. Например если поле решено перенести в другую таблицу.

Есть только логическая связь: описание модели(лей) не должно противоречить тому состоянию БД, к которому приводит выполнение миграции.

#22 Re: Хорошие практики (FAQ) » Хорошие практики кем установлены и для кого? » 25.03.2020 05:04:29

Вот ты и есть тот Вася Петров smile

Практики это не догма, а то, что помогает совместной работе. Когда один опытный разработчик принимает управление проектом от другого опытного разработчика обычно это происходит безболезненно -- благодаря тому, что они используют похожий набор приёмов.
Про какие сервисы ты здесь пишешь? Обозначь как-нибудь контекст использования. Без контекста слово "сервис" слишком общее. Ты сам понял в каком месте Алексей М. его рекомендовал?

#23 Re: Laravel 6 и 7 » Kак вывести под категории или дочерние категории? » 18.03.2020 08:07:57

Абсолютно непонятно что ты имел в виду здесь:

Как поменять чтобы в ссылке в место id был url, типа адрес/1  на  адрес/адрес?

#24 Re: Laravel 6 и 7 » Kак вывести под категории или дочерние категории? » 18.03.2020 08:05:32

Два замечания:

1. Организация иерархии в виде adjacency list (т.е. id + parent_id) неудобна для получения вложенных множеств. Есть альтернативы, надо только погуглить "db tree". Ну или можно смириться с тем, что "дочерние категории" потребуют дополнительных запросов.

2. Ты понимаешь, что такое описание маршрута Route::get('/{category}' подходит просто для любого, нет ЛЮБОГО, маршрута? smile Жди нежданчиков.
Не экономь буквы, напиши 'category/{category}' или типа того.

#25 Re: Laravel 6 и 7 » Метод pluck в БД » 16.03.2020 16:43:18

Выбрать только нужные поля ты можешь через перечисление в select() - два три или сколько надо, проиндексировать полученный результат по полю можно методом keyBy()

https://laravel.com/docs/master/collect … thod-keyby

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