|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
|
doctor2k |
|
||||||||||||
Шустрый Профиль Группа: Участник Сообщений: 59 Регистрация: 15.5.2010 Где: Russia, Samara Репутация: нет Всего: нет |
Доброго времени суток, уважаемые господа, товарищи, граждане. Коллеги. Друзья. Братья.
Проблема в следующем. Имеется Laravel 5.2.x с прикрученным к нему расширением для работы с MongoDB. Дока в принципе подробная, штуковина работает, но вот понадобилось мне N дней назад взять объект по его _id. И тут я напоролся на грабли. В доке указано просто:
То есть, по сути, _id передаём строкой. Но этот код возвращает NULL. Помню, когда для Yii писал свою обёртку, там взаимодействие с монгой было через PHPшное расширение, и надо было перед обращением к базе превратить строку в MongoId, т.е.:
Здесь такое не срабатывает. Я полез в исходники самого расширения, нашёл следующие вещи:
Т.е. find() это просто такая обёртка для where(). Ладно, пробуем по-другому. Пишем сами через where():
Возвращается фигня. var_dump() выдаёт следующее:
Хотя объект под таким _id есть в коллекции, и через консоль Robomongo прекрасно ищется. Помогите пожалуйста найти решение проблемы, или хотя бы подскажите в какую сторону смотреть. Заранее спасибо. |
||||||||||||
|
|||||||||||||
doctor2k |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 59 Регистрация: 15.5.2010 Где: Russia, Samara Репутация: нет Всего: нет |
Решил проблему. Переопределил метод find() в модели, стало так (на примере UserModel.php):
Не претендую на абсолютную правильность решения, но меня устраивает. Это сообщение отредактировал(а) doctor2k - 11.8.2016, 12:17 |
|||
|
||||
_zorn_ |
|
||||
Эксперт Профиль Группа: Завсегдатай Сообщений: 1077 Регистрация: 21.8.2007 Репутация: нет Всего: 12 |
Само по себе использование "and" вместо "&&" (интересно зачем ?) чревато подводными камнями (приоритеты операторов). А если разработчик их использует, значит полюбому где нибудь и наткнется. Короче нет доверия этому коду ) http://stackoverflow.com/questions/2803321...-vs-as-operator
|
||||
|
|||||
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Для профи | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |