Laravel по-русски

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#6 Re: Laravel 6 » Проблема с отправкой почты. » 11.03.2020 06:00:09

Что за config.php ?
Я вижу у тебя захардкоденый путь. В Laravel принято использовать хелперы base_path(), resource_path() и т.п.

#8 Re: Laravel 5.x » Laravel Gates And Politics » 06.03.2020 17:25:32

Логично предположить, что $user->status не равен 1 для этого пользователя smile Надо проверять в отладчике.
Кстати, ты не предусмотрел случай, когда пользователь вообще не найден. Система не должна вываливаться с ошибкой при неправильном email.

#10 Re: Laravel 6 » Права пользователь » 20.02.2020 12:25:46

1) должно работать
2) это тебе в оффициальную доку надо, в раздел аутентификация
сгодится и русский перевод, хотя похоже русский для тебя неродной

#11 Re: Вакансии » Для любителей нестандартных задач - Переделать калькулятор » 18.02.2020 16:45:52

Эй, ты сейчас человека плохому научишь smile Платить сразу обоим за одну работу мало кто будет. И что в итоге, кого-то оставят ни с чем. Причем наверняка того, кто серьёзнее вникает, но дольше пишет.

#12 Re: Laravel 6 » Вопросы по установке Laravel 6 » 17.02.2020 15:09:55

В консоли просто дает писать следующую команду - как будто выполнилось и все

тот случай, когда скриншот пргодился бы. что-то не верится в тихий сатобаж

#15 Re: Общий раздел » Show off: StackOverflow DB for Laravel » 17.02.2020 13:45:21

5oTyyWVaULriBc20A5t2W5GN7KufNw

Это чтобы был понятен объём и состав таблиц. Импортирована база ru.stackoverflow.com по состоянию на декабрь 2019г.
Интернациональная версия в разы больше.

#16 Общий раздел » Show off: StackOverflow DB for Laravel » 17.02.2020 13:41:00

artoodetoo
Ответов: 1

Хозяева StackOverflow выкладывают дампы своих баз в публичный доступ. Они, понятное дело, очищены от приватных данных как email или кто за что голосовал. Но в целом, как песочница с почти настоящими данными, это очень интересный источник. Сотни тысяч и миллионы неслучайных записей! Я взялся приспособить базу под MySQL и Laravel way и хочу поделиться результатами со всеми.

В чём собственно состоит мой вклад:
Я написал миграции и команду для загрузки здоровенных XML в базу. Чтобы сделать данные более "ларавелевскими", я меняю имена, кое-где добавляю таймстамп, в одном специальном случае изменяют id с -1 на 1. Таблица users осталась пригодной для аутентификации по-ларавелевски. Я написал команды для заполнения пропущенных приватных данных фейковыми значениями.

Изначально база не содержит индексов, кроме неявных для PK. Над правильной индексацией ещё надо поколдовать. А импорт быстрее сработает без индексов.

Я думаю, на основе такой песочницы вполне можно написать свою систему "вопросы и ответы" с голосованием, историей правок и т.д. всё по взрослому. Но сейчас мой интерес ограничивается оценкой эффективности запросов на Eloquent.
Буду писать сниппеты по мотивам запросов со StackExchange Data Explorer, но для MySQL и на Eloquent. wink

Адрес проекта: https://github.com/artoodetoo/so-example
Ставьте звёздочки, делайте pull requests!

#17 Re: Хорошие практики (FAQ) » Загрузил laravel, но многих файлов нет » 16.02.2020 10:19:47

Такого файла как commands нет и не должно быть в составе "скелетного" проекта Laravel. Скажи чего ты хочешь добиться, а не чего по твоему не хватает.

Немного оффтопик: Сейчас февраль 2020г и текущая стабильная версия это v6, а ты зачем-то ставишь 5.6? Если причина в том, что ты залип на древнем PHP5, то рекомендую сначала обновить его до PHP 7.3, а затем ставить актуальный Laravel.

Если у тебя залипуха с тем чтобы создать свою первую команду, запусти из консоли такое:

php artisan make:command MyFirstCommand

Это создаст файл app/Commands/MyFirstCommand.php (здесь Commands это папка, а не файл, и с большой буквы C).
Привыкай к тому, что регистр имён ВАЖЕН, хоть ты сейчас на Windows.

#18 Re: Laravel 6 » JS, проблема с делением » 13.02.2020 22:42:51

Текст ошибки как бы говорит, что ты плохо пробуешь. "Illegal string offset 'days'"? WAT?

#19 Re: Laravel 5.x » выключить\включить сайт » 13.02.2020 22:40:10

Ради одного этого, ИМХО, не стоит. Но 5.3 это очень старая версия, думаю пора smile

#20 Re: Laravel 5.x » выключить\включить сайт » 13.02.2020 16:27:27

Велосипедить плохо.
Ходить по сайту во время обслуживания плохо. Неважно по админке или где ещё.

Я вижу два неплохих варианта, оба таки будут использовать команды up/down.
1. Вызывать их извне, из веб-скрипта, который гнездится в отдельном виртуальном хосте на том же сервере.
2. Прописать нужные IP адреса как исключения для режима обслуживания и строго предупредить "того человека", что сайт трогать во время обслуживания очень нежелательно.

IP для исключения можно взять прямо тот, которым админ пользуется в момент нажатия на красную кнопку.
Вызвать консольную команду из веб-скрипта несложно.
https://www.php.net/manual/en/function.shell-exec.php
или
https://webdevetc.com/programming-trick … controller

#22 Re: Laravel 5.x » Laravel app в подпапке относительно composer.json » 10.02.2020 22:02:42

Цель: сделать стркутуру папок - composer.json - someLaravelProjectFolder - someOtherProjectFolder

надо папку - делай. чем someLaravelProjectFolder отличается от app, например? не могу понять.

#23 Re: Laravel 6 » Не выводятся ошибки в views » 10.02.2020 13:58:07

Я не интересовался в какую. В шаблоне эти переменные доступны обращением к функции old('varname') и находятся они в сессии, инфа 100%.

#24 Re: Laravel 6 » Не выводятся ошибки в views » 10.02.2020 13:11:14

Возможно проблема в сессии. Ведь туда должны попадать значения "old". У тебя сессия настроена по умолчанию или в БД?

Для БД может пригодиться вот это https://stackoverflow.com/questions/518 … ith-errors

#25 Re: Laravel 6 » Как сделать выборку из таблиц многие ко многим? » 09.02.2020 21:21:44

У меня нет под рукой подходящей базы, поэтому пишу не попробовав вживую:

$thisPostTagIds = $thisPost->tags->pluck('id');
$posts = Post::whereHas('tags', function($q) use($thisPostTagIds) {
    $q->whereIn('id', $thisPostTagIds);
})->where('id', '<>', $thisPost->id)
->get();

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