Если я правильно понял, то у вас у модели в поведении используется сессия. Тогда, если это поведение не нужно в консоли:
1. Подключайте к модели поведение только в веб приложении через конфиг либо в модели через проверку if.
2. Отключайте в консольном приложении поведение через конфиг либо прямо в модели через проверку if.
Если поведение нужно:
1. Делайте сессию-заглушку, которая ничего не делает и не работает с самой сессией.
2. Переопределяйте поведение, выпиливайте от туда сессию или делайте проверку на консольное приложение.
Вот несколько вариантов. А там уже сами решите какое вам подойдёт.
Kurper, все зависит от вашей задачи. Если не хотите использовать RBAC, то естественно можете написать любую свою логику. Например, некоторые делают для модуля свои права доступа, вместо глобальных. Для этого создают дополнительную таблицу member_permision и уже там назначают права. В коде вы просто делаете запрос к этой таблице выбирая все разрешения пользователя и проверяете.
Так же можете реализовать полем Role у member. Если участник форума с ролью admin, то ему можно показывать эту колону.
Артур, $bot->on(...) это как раз таки и есть событие от бота. Вы на него вешаете анонимную фунцию. Вместо этого можно вешать свой класс (обработчк). Вы можете поступить так:
1. Создать свой один обработчик, где пишете всю эту логику.
2. Пользоваться анонимной функцией, как и сейчас, но создавать свои события в зависимости от данных и свои обработчики в зависимости от события. Но тут вам нужен будет:
- EventDispatcher
- Event
- Listener
3. Создайте свой сервис:
- из команд по паттерну CQRS
- из UseCase по паттерну DDD
4. Создать сервис UseCase и события в нём.
Я бы в таком случае рекомендовал третий вариант. Но события придают гибкость. Вы можете навесить любой обработчик когда угодно и не лезть в код.
Бот запускается и пользователь выбирает команду. Вы получаете эту команду от бота. Если команда === Фамилия, то вызываете сервис $service->addLastName($name);
Артем, использовать в месте, где идёт загрузка изображения. Если вопрос где разместить функцию? Хоть где) Можно хоть в хелпере, можете отдельным сервисом
▪ ▪, без этих данных сложно что-то сказать. Вот вам браузер выдаст ошибку DomainExiption и что вы поймёте. Так же и тут. Пока не залезете в логи или консоль не разберётесь. Что может вызвать эту ошибку написал в ответе. А если вы используете плагины, а не свой код, то что вы сделаете... Если вы все правильно настроили как в инструкции, то проблем быть не должно. А если проблемы есть - код может быть не рабочий. Может конфликт. Вариантов много. Но через UI интерфейс это не решить. Или вы думаете вам скажет кто-то как это исправить в визуальном редакторе?
▪ ▪, ну тогда тут ещё сложнее) Но проблема скорее всего именно в паркинге кода. Ищите реальную ошибку в консоле. Может версия не рабочую используете. Или конфликт.
▪ ▪, вы посмотрите. То у вас в консоле) Скорее всего у вас ошибка Парсинга данных. Например, указан тип ajax получения данных json, а вы ему даёте массив на php
Mark, из базовых решений есть у Картикам такая вещь) но я не помню можно ли там два одновременно. Можете свой написать основываясь на своём, если нужно
Kurper, о том и речь. Зачем вообще тогда озадачиваться таким решением если поля могут не совпадать для своего виджета и грида. Стоит просто посмотреть как это реализовано в Yii2. Три виджета GridView, ListView, DetalView. Эти виджеты используют одни и те же атрибуты одной модели. Но там никто так не стал делать как вы хотите.
Михаил Балагура, я же вам сказал. Делайте проверку на существование. Если не существует - создавайтесь на лету или сохраняйте только в одну таблицу или вообще выдавайте ошибку о том, что адрес ещё не создан. В чем проблема то? Вам ошибка не нравится? Сделайте свою. Вам нужно сохранить только одна? Сохраните одно. Что вы хотите то?
Вам написали проблему то, что нет данных. Вы и сами ответили на свой вопрос. Что если нет данных в другой таблице ошибка есть. Если есть, то ошибки нет. Дальше вам нужно понять как вы будете программировать. Вариантов куча... выше уже писал.
Если надо чтоб данные были там и там выдавайте ошибку что такого адреса ещё нет. Добавьте новый адрес. Либо сразу две формы выводите человеку. Либо сохраняйте без адреса, а при выводе это учитывайте. В общем не понятно в чем у вас проблема. Вы сами ответили на свой вопрос почему возникает эта ошибка.
Проблема кодировки самого PHP или базы. Как я понял это PHP
Попробуйте это