Laravel по-русски

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

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

#2 Re: Laravel 5.x » Динамические базы данных для laravel » 07.04.2019 17:58:50

Как вариант:
1) в каком-то конфиге хранятся данные для доступа ко всем базам
2) в сервисПровайдере определяем какая БД нужна и переписываем данные для доступа к БД
3) в Контроллере авторизации пользователя пишем в сессию id базы, переназначаем данные для доступа к БД.

#3 Re: Laravel 5.x » Динамические базы данных для laravel » 07.04.2019 17:41:39

А пользователь есть во всех базах?
Т.е. базы идентичны?

#4 Re: Laravel 5.x » Модульность » 05.04.2019 10:23:46

Спасибо! ))
Нашел еще пакет https://github.com/greabock/tentacles
и статья в тему https://gist.github.com/greabock/48787baab768b519f21c
Но почитал про DDD и уже передумал так делать ))

#5 Re: Laravel 5.x » 419 Sorry, your session has expired » 04.04.2019 22:53:41

1. Проверить, не отключено ли в броузере принятие куки. Попробовать другой броузер
2. Проверить наличие папки на сервере /storage/framework/sessions и права на неё

#9 Laravel 5.x » Модульность » 04.04.2019 22:36:47

Ramir
Ответов: 3

Привет!
Хочу реализовать модульность - распихать по папкам.
Например:
- Modules
-- User
-- Blog
-- Article

В каждом модуле есть модель User
в User - основная
в остальных - добавляющая связи с моделями Blog и Article, соответственно.

class BlogUser extends \App\Modules\User\User {
    public function blogs()
    {
        return $this->hasMany('App\Modules\Blog\Blog', 'user_id', 'id');
    }
}

Вопрос такой - как "главная" модель \App\Modules\User\User узнает о дочерних моделях?
В какой момент их подгружать и как? Или в какую сторону "курить"..
Подскажите, пожалуйста ))

#11 Re: Веб-разработка » "Вывернуть" массив )) » 09.01.2019 20:16:45

Под "неэлегантным" я подразумеваю что-то вроде:

$persons = [
            'name'=>[
                0=> 'Vasya',
                1=>'Petya',
                2=>'Kolya'
                ],
            'street' =>[
                0=>'Lenina',
                1=>'Marksa',
                2=>'Engelsa'
            ]
        ];
$people=[];
        foreach($persons as $fieldName => $fields){
            foreach($fields as $k => $field){
                $people[$k][$fieldName] = $field;
            }
        }

#12 Веб-разработка » "Вывернуть" массив )) » 09.01.2019 20:00:45

Ramir
Ответов: 3

Всем привет!
Подскажите, пожалуйста, элегантное решение для преобразования массива вида

$persons = [
            'name'=>[
                0=> 'Vasya',
                1=>'Petya',
                2=>'Kolya'
                ],
            'street' =>[
                0=>'Lenina',
                1=>'Marksa',
                2=>'Engelsa'
            ]
        ];

в

[
  0 => [
    'name' => "Vasya",
    'street' => "Lenina"
  ],
  1 => [
    'name'=>"Petya"
    'street' => "Marksa"
  ],
  2 => [
    "name'=>"Kolya"
    'street' => "Engelsa"
  ]
]

Нужно для создания relationship моделей на основе формы. Или может форму по другому сформулировать?
Спасибо!

#14 Laravel 5.x » [РЕШЕНО] Не отображаются ошибки после проверки формы FormRequest » 14.05.2018 20:03:49

Ramir
Ответов: 0

Перерыл пол интернета.
Не выдает ошибки после проверки формы на странице формы.
Само исключение было:

"The given data was invalid."

Проблема была в некорректном upgrade с предыдущей версии.
Сравнивал свою и 5.6 версию /app/Http/Kernel.php
Нашел файл, которого у меня не было:
/app/Http/Middleware/TrimStrings.php
Добавил.
Ошибки отображаются.
Просто оставлю это здесь.

#16 Re: Laravel 5.x » Перевод контента и связи между таблицами » 24.04.2018 10:44:43

Не очень понятен вопрос.
1) В таблице ArticleTranslation есть article_id?
2) В модели не вижу связи ArticleTranslation и Article
3) Может имеет смысл убрать из таблицы Article поля, которые есть в ArticleTranslation: title, body ? И хранить все тексты в одном месте.
4) Не вижу столбца lang в ArticleTranslation

#18 Re: Laravel 5.x » Ошибка при создание миграции » 23.04.2018 11:58:36

Замените в файле миграции users вот эту часть. Это из "чистой" установки

public function up()
    {
        Schema::create('users', function (Blueprint $table) {
            $table->increments('id');
            $table->string('name');
            $table->string('email')->unique()->nullable();
            $table->string('password');
            $table->rememberToken();
            $table->timestamps();
        });
    }

#19 Re: Laravel 5.x » Ошибка при создание миграции » 23.04.2018 11:30:01

Что-то не сходится. В artisan migrate:status в колонке Run стоит N для всех миграций.
Т.е. миграции не выполнились, а в сообщении говорится, что таблица есть.

1. Попробуйте переместить куда-то на время файл миграции категории. и еще раз запустите artisan migrate.
Он должен вывести "Nothing to migrate."

2. Перенесите миграцию user, если она ему не нравится. Но это непонятный путь.

#20 Re: Laravel 5.x » Ошибка при создание миграции » 23.04.2018 11:16:19

1. Сейчас команда artisan migrate ошибок не выдает?
2. Что выводит команда artisan migrate:status ?
3. Имя файла миграции для категорий?
() Вы запускаете artisan в папке того проекта? )) На всякий случай

#21 Re: Laravel 5.x » Ошибка при создание миграции » 23.04.2018 11:06:20

Создалось 2 таблицы: users и  migration, да? Хорошо.
Файл миграции для таблицы categories в папке database/migrations ?

#22 Re: Laravel 5.x » Ошибка при создание миграции » 23.04.2018 10:58:12

значит не в той базе удалили. или не в ту базу пишет миграция.
Проверьте в файле .env
DB_DATABASE="Та база"?

#24 Re: Laravel 5.x » Ошибка при создание миграции » 23.04.2018 10:32:58

Он Вам пишет, что таблица users уже существует.
Т.е. при запуске artisan migration, скрипт выполняет все миграции, которые ранее не были выполнены.
Возможно, таблицу users Вы создавали вручную, а потом создали миграцию.
Если Вам эту таблицу users не жалко, удалите ее. Или переименуйте, выполните миграцию, а потом переименуйте обратно ))

#25 Re: Laravel 5.x » Перестала работать выборка фото с базы данных при выборе автора. » 22.04.2018 17:46:34

1) Мало данных. Вы предоставили часть шаблона. А что в выводе?

$user_list = Users::where("role_id","!=",1)->get();
if($row['user_id'] < 1){
$row['user_id'] = 7;
}

По-моему, это не рабочий код.

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