Laravel по-русски

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

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

#1 Re: Laravel 5.x » формирование архива выбранных файлов и их загрузку. ZipArchive » 10.05.2022 20:12:10

Тема закрыта, решил!
создал форму с кнопкой "Скачать архив", в div с hidden собираю выбранные productId с помощью js и post'ом передаю в метод. усе..

#2 Laravel 5.x » формирование архива выбранных файлов и их загрузку. ZipArchive » 04.05.2022 22:49:47

SergAndreev
Ответов: 1

Народ, привет!
Пытаюсь реализовать формирование архива выбранных файлов и их загрузку. В контроллере написал метод
    public function zipArchiveFile(Request $request)
    {
        $zip = new ZipArchive;
        $today = date("d-m-Y");
        $fileName = $today.'_archive.zip';
        //dd($fileName);
        if($zip->open(public_path($fileName), ZipArchive::CREATE) === TRUE);
        {
            $productsIds = (isset($request->product_checked)) ? $request->product_checked : [];
            dd($productsIds);
            $files = [];
            foreach($productsIds as $productId) 
            {
                $productFile = Product::where('id', $productId)->value('file');
                if(!empty($productFile)){
                    $files[] = File::files(public_path($productFile));
                }
            }
            //dd($files);
            foreach($files as $key => $value)
            {
                $relativeNameInZipFile = basename($value);
                $zip->addFile($value, $relativeNameInZipFile);
            }
            $zip->close();
        }
        return response()->download(public_path($fileName));
    }
в blade                     
<td>
    <input type="checkbox" name="product_checked[]" value="{{ $product->id }}">
</td>

Вопрос, как из blade передать product_checked[] ?
в связке с js?
Или отдельным методом получать checked значения и обращаться к ним в zipArchiveFile через $this? Например через js post'ом?
Всю таблицу вывода не хотелось бы засовывать в форму
Может у кого есть пример или дайте наводку)

#3 Re: Laravel 5.x » Запрос к БД » 07.11.2021 14:52:32

Привет.
Получается прописал в модели tables1
    public function tables2()
    {
      return $this->hasMany(Table2::class, 'tables1_id', 'id')->get();
    }

В котроллере
        if ($request->filled('search_name')){
            $queryTables1 = Table1::query()
                ->with('tables2')
                ->where('name', 'LIKE', '%'.$request->search_name.'%')
                ->get();
            $tables2Query= $queryTables1->tables2();
        }

ошибка
Method Illuminate\Database\Eloquent\Collection::addEagerConstraints does not exist.

что не так?

#4 Re: Laravel 5.x » Ошибка базы данных SQLSTATE[HY000] [2002] Connection refused » 24.10.2021 18:33:09

artoodetoo, спасибо!
При переносе проекта на VPS такая же ошибка была.
Помогло обновление кэш
php artisan config:cache

#5 Laravel 5.x » Запрос к БД » 18.10.2021 22:40:34

SergAndreev
Ответов: 3

Всем привет!
Друзья, подскажите как правильно сформировать запрос?
есть таблицы tables1 и tables2 в tables2 хранится tables1_id
<input name="search_name">
делаю поиск в столбце name из tables1, необходимо сделать выборку строк из tables2, где id из tables1 = tables1_id
мой нерабочий код ниже
        $tables2Query = Tables2 ::query();
        $tables1Query = Tables1::query();

        if ($request->filled('search_name')){
            $tables1QueryId = $tables1Query->pluck('id')->where('name', 'LIKE', '%'.$request->search_name.'%');
            $tables2Query->where('tables1_id', $tables1QueryId );
        }

laravel ver. 5.8

#6 Re: Laravel 5.x » barryvdh/laravel-debugbar » 09.10.2021 21:53:41

ееее..
спасибо большое!
1. добавил строку в composer.json - "barryvdh/laravel-debugbar": "3.4.2",
2. выполнил php7.4 composer.phar update
установился debugbar


подскажите еще, когда не мог поставить debugbar решил обновиться composer, laravel, поставил debugbar и появилась ошибка с маршрутами. Маршруты надо переписывать?
Auth::routes();
Route::resource('titles', 'Admin\TitleController')->middleware(['auth']);

#7 Re: Laravel 5.x » barryvdh/laravel-debugbar » 09.10.2021 12:55:23

Подскажи какую версию надо ставить дебагбара?
пробовал от 2.0 до 3.6

#8 Laravel 5.x » barryvdh/laravel-debugbar » 06.10.2021 21:59:46

SergAndreev
Ответов: 4

Всем привет!
Друзья, подскажите.
Ставлю barryvdh/laravel-debugbar, хочу продебажить страницу проекта, медленно грузится. https://github.com/barryvdh/laravel-debugbar взял инструкцию.
Команда установки: php7.4 composer.phar require barryvdh/laravel-debugbar --dev

выдает ошибку: Using version ^3.6 for barryvdh/laravel-debugbar
./composer.json has been updated
Running composer update barryvdh/laravel-debugbar
Loading composer repositories with package information
Updating dependencies
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - barryvdh/laravel-debugbar[v3.6.0, ..., v3.6.2] require illuminate/routing                                                                                         ^6|^7|^8 -> found illuminate/routing[v6.0.0, ..., 6.x-dev, v7.0.0, ..., 7.x-dev,                                                                                         v8.0.0, ..., 8.x-dev] but these were not loaded, likely because it conflicts wi                                                                                        th another require.
    - Root composer.json requires barryvdh/laravel-debugbar ^3.6 -> satisfiable                                                                                         by barryvdh/laravel-debugbar[v3.6.0, v3.6.1, v3.6.2].


Installation failed, reverting ./composer.json and ./composer.lock to their orig                                                                                        inal content.
Не могу понять какие еще пакеты нужно инсталлировать.

compser.json:
    "license": "MIT",
    "require": {
        "php": "^7.1.3",
        "fideloper/proxy": "^4.0",
        "laravel/framework": "5.8.*",
        "laravel/tinker": "^1.0",
        "phpoffice/phpspreadsheet": "^1.9"
    },
    "require-dev": {
        "barryvdh/laravel-debugbar": "^3.6",
        "beyondcode/laravel-dump-server": "^1.0",
        "filp/whoops": "^2.0",
        "fzaninotto/faker": "^1.4",
        "mockery/mockery": "^1.0",
        "nunomaduro/collision": "^3.0",
        "phpunit/phpunit": "^7.5"
    },
    "config": {
        "optimize-autoloader": true,
        "preferred-install": "dist",
        "sort-packages": true
    },

Composer version 2.1.9 2021-10-05 09:47:38
После команд:
php7.4 composer.phar dump-autoload
php7.4 artisan.phar config:clear
Проект совсем упал, переставил vendor, заработал.

#9 Re: Laravel 5.x » Миграция на хостинге » 09.05.2021 10:21:57

арендуй VPS или выделенный сервер и не ищи какие-то обходные решения, просто работай с проектом как если бы он ыл на твоей локальной машине.

Да, саппорт хостинга также порекомендовал свой VPS сервер.

#10 Laravel 5.x » Миграция на хостинге » 08.05.2021 12:33:07

SergAndreev
Ответов: 3

Всем привет!
Друзья, подскажите как выполнить миграцию на хостинге.
Необходимо вставить колонку в таблицу БД mysql.
laravel version 5.8
Может у кого есть ссылка на мануал или поделится опытом?
Попробовал выполнить команду маграции подключившись к серверу по ssh, но у хостинга отключены выполнения скриптов в cmd.

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