Laravel по-русски

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

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

#2 Re: Laravel 6/7/8 » Laravel 8.26.1 vue » 05.02.2021 07:32:07

В папке public папки css и js не создаются , апосле...

может быть твоя папка public имеет неправильного владельца и права доступа не позволяют создать в ней что-то.
подобные проблемы часто случаются когда злоупотребляют командами из-под административного аккаунта.

Offtopic: не подскажу как это решается в Windows, сорри. даже когда мой рабочий комп был на винде, всегда пользовался unix-подобной командной строкой и утилитами (cygwin). а сейчас, когда в винде есть WSL это вообще легко и естественно. сервера в интернетах работают почти исключительно под linux. зачем учить два разных способа делать одно и то же?

#3 Re: Laravel 6/7/8 » Не запускается tinker » 01.02.2021 17:14:52

Я бы при таком раскладе не переименовывал папку, т.к. где-то эти пути уже сохранились. А создал бы нового пользователя, нигде бы кириллицу не использовал в учётке и получил бы нормальный путь.
Ну и весь софт для LAMP/LEMP ставил бы из линукса (WSL), а не виндовый.
Если решать проблемы через chmod 777 то придется делать это снова и снова и снова...
Нормальный выход: поместить учетки веб-сервера и себя любимого в одну группу. Ну или заставить сервер работать из-под своей личной учетки. Для локального сервера вполне себе решение.

#4 Re: Laravel 6/7/8 » Что значит сообщение в консоли Package fzaninotto/faker is abandoned? » 15.01.2021 07:06:43

Если эта зависимость прилетела из самого фреймворка, то в новой версии ларавель пакет будет чем-то заменен, например форком, который будет поддерживать другой автор. Тебе ничего не надо делать по этому поводу.

#5 Re: Laravel 6/7/8 » Что значит сообщение в консоли Package fzaninotto/faker is abandoned? » 15.01.2021 07:01:40

Это значит автор пакета решил бросить его, обновлений и исправлений не будет.

#6 Re: Laravel 6/7/8 » Две формы и два SUBMITа на одной странице. » 31.12.2020 16:03:42

Не получается указать имя маршрута в URL.

указать имя маршрута в JS ? — это никак не сделать. потому что JS вообще не знает что такое маршруты laravel. максимум ты можешь "разименовать" маршрут в шаблоне и подставить в JS результат, то есть к коде ты будешь видеть имя, но в теле страницы будет присутствовать путь.

some.blade.php

. . .
<script>
. . .
url: '{{ route('exceptions.destroy') }}'
...
</script>

После AJAX запроса (удаление выбранных записей) нужно обновить страницу.

в обработчике ajax-запроса на стороне сервера redirect() не нужен. перегрузку страницы делай в javascript: в success сделай document.location = 'some address'

( на самом деле можно можно было бы обновить не всю страницу, а только список. а то как-то непонятно зачем здесь ajax )

#7 Re: Laravel 6/7/8 » Две формы и два SUBMITа на одной странице. » 30.12.2020 15:19:25

Старайся использовать правильные термины. Имя маршрута, а не имя роутера.
Непонятно в чём вопрос. Да, для каждого вида запроса нужен отдельный маршрут (enlgish: route) и обработчик в контроллере. Если данные отправляются с помощью JS то логично сделать два обработчика события submit.

Экономия букв всегда оборачивается кашей вместо логики.

#8 Re: Веб-разработка » Счетчик просмотров изображения » 19.12.2020 12:11:52

Какому скрипту? В логах запросы к любым ресурсам. Считай то, что тебе нужно.

#9 Re: Веб-разработка » Счетчик просмотров изображения » 16.12.2020 08:29:27

Лучше анализировать access log. Это самый экономный способ.

#10 Re: Поиск работы » Ищу стажировку/удаленную работу » 05.12.2020 18:32:17

С такими навыками пора выходить на международные биржы типа upwork.com. Работы много.

#12 Re: Веб-разработка » Разные (несвязанные) данные на одной странице на одном маршруте » 05.12.2020 18:28:51

@Goborov почитайте про инструкцию @extends в Blade. Через неё можно добиться единообразия в разметке нескольких страниц, при этом НЕ занимаясь копи-пастой. Затем про View Composer чтобы НЕ добывать одни и те же данные в каждом контроллере. Научивщись работать с этими вещами вы сами ответите на свои вопросы. Я не готов вас сопровождать в каждой детали smile

#13 Re: Веб-разработка » Разные (несвязанные) данные на одной странице на одном маршруте » 04.12.2020 13:43:43

Не знаю про биртикс, возможно из-за этого я неправильно вижу саму проблему перехода.
В laravel контроллер может вернуть только один объект view, которому соответствует один шаблон. Всю композицию надо составлять внутри этого шаблона.

В шаблоне можно инклудить блоки (другие шаблоны). Данные для этих блоков можно передать из контроллера одной пачкой сразу для всех блоков, а можно настроить "view composer" чтобы он неявно подбрасывал данные куда надо.

Можно инжектить в шаблон сервис, который нужные данные будет добывать — такой подход правда некоторые участники называют нехорошими словами, но он возможен.

Гуглить "blade include", "blade component", "laravel view composer", "blade service injection"

#14 Re: Laravel 6/7/8 » Почему не сохраняется в таблицу первая строка из массива в Laravel? » 01.12.2020 13:13:06

Кстати, твой dd($record); должен показывать сколько строк обновлено, если не ошибаюсь.

0 может означать как то что условие where не позволило ничего обновить (записи нет), так и случай, когда новые значения полей  совпали со значеними в существующей записи — фактически ничего не обновлено.

"То есть первая строка из массива ни в какую не хочет вставляться." — не вставляться, а обновляться, т.к. здесь update, а не insert.

#15 Re: Laravel 6/7/8 » Почему не сохраняется в таблицу первая строка из массива в Laravel? » 01.12.2020 11:20:11

ИМХО, мы говорим на разных языках. Типа кто-то путает запись и поле, вставку и обновление. В документацию!

#17 Re: Laravel 6/7/8 » Почему не сохраняется в таблицу первая строка из массива в Laravel? » 01.12.2020 11:11:33

Update не вставляет, а изменяет существующую запись. Если её нет, значит нет smile

#18 Re: Laravel 6/7/8 » как сделать уникальным массив массив ассоциированных массивов ? » 01.12.2020 07:35:44

При массиве 500к , он замирает на десятки минут и не отвечает.

@Proger_XP ты по прежнему считаешь, что обрабатывать дохуялионы записей в массиве на стороне PHP это нормально?
При этом всегда остаётся немаленькая вероятность что в результате ошибки записи в базе будут таки НЕуникальны.
Если решать задачу средствами SQL, то уникальность будет гарантирована, а тяжелые запросы будет выполнять оптимизированный на это сервер БД.

Все темы топикстартера, как я понимаю, относятся к одной и той же задаче https://laravel.ru/forum/viewtopic.php?id=4922

#19 Re: Laravel 6/7/8 » Почему не сохраняется в таблицу первая строка из массива в Laravel? » 01.12.2020 07:25:22

Первый элемент в массиве 0, так ?

Обычно так. Поэтому условие цикла должно быть

for ($i = 0; $i <= count($csvarr); $i++)

или лучше

foreach ($csvarr as $i => $item)

потому что в PHP массивы могут быть всякими

вот эти некрасивые строки

if (isset($csvarr[$i][0]))   { $NUMBER  =  $csvarr[$i][0]; } else {$NUMBER = " ";}
. . .
...->update(['NUMBER2' => $NUMBER2, ...])

можно заменить на

...->update([
  'NUMBER' => $csvarr[$i][0] ?? " ",
  . . .
]);

#20 Re: Общий раздел » Как лучше сравнивать два массива (коллекции)? » 25.11.2020 07:59:04

P.S. Вообще когда с базой работаешь, надо отказываться от стереотипов работы с массивами. Очень неоптимально тащить всё в PHP. Вместо этого надо поручать тяжёлую работу серверу БД — он отлично справляется. База это намного более интелектуальная штука чем файл.

#21 Re: Общий раздел » Как лучше сравнивать два массива (коллекции)? » 25.11.2020 07:30:27

Готовый код не дам, только наводки.

Если хочется экономить память, не загружай данные полностью, а читай и обрабатывай по одной или по ограниченной пачке строк. Пригодятся понятия stream, generator, cursor, chunk.

Из описания непонятно почему тебе хочется сравнивать массивы/коллекции. Может быть и не надо?
Например нет смысла сравнивать некую запись со старой версией в таблице. Просто пиши новую версию.
Почитай про firstOrCreate / firstOrNew в Laravel. Если использовать возможности БД, то в MySQL есть такие чудесные операции как
* insert ignore
* insert on duplicate key update
* replace
которые позволяют работать с уникальными данными без ошибок в одну операцию.

#22 Re: Laravel 6/7/8 » Почему laravel обновляет переменную в сессии только после перезагрузки » 24.11.2020 12:24:14

Распиши по шагам (http запросам) логику поведения. Когда ты что-то пишешь в сессию, когда редиректишь, когда используешь. Где-то нарушена логика и это не в Laravel, а у тебя. Давай разбираться.

#23 Re: Laravel 6/7/8 » Не видидит переменную обозначенную global » 11.11.2020 15:38:17

Не надо здесь global. Переменные попадают во внутренний scope замыкания с помощью use
function ($item) use ($diametr) {

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

#24 Re: Веб-разработка » Организовать работу с git на нескольких бранчах » 03.11.2020 17:48:21

Создать новый бранч

git checkout -b newbranch

при этом необязательно коммитить или помещать в stash!

Посмотреть какие есть "спрятанные" изменения. Может быть несколько записей, по одной на каждый произведённый git stash:

git stash list

git stash pop восстанавливает спрятанные изменения из последней записи и удаляет её. Принцип стека: вытолкнул и удалил. Так что повторный вызов не сделает то же самое вновь!

#25 Re: Laravel 6/7/8 » undefined offset line 1290, динамические роуты » 22.10.2020 23:39:21

Использую, Route::get('male/{brand_url}'  вот же))

тебе кажется, что здесь подставляется переменная? smile нет. это просто описание маршрута с параметром. в таком виде его достаточно объявить один раз без цикла.

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